Co to jest Setuid?

Setuid, który oznacza ID użytkownika podczas wykonywania, jest specjalnym typem uprawnień do plików w systemach operacyjnych Unix i Unix, takich jak Linux i BSD. Jest to narzędzie bezpieczeństwa, które pozwala użytkownikom uruchamiać niektóre programy z eskalowanymi uprawnieniami.

Po ustawieniu uprawnienia setuid pliku wykonywalnego użytkownicy mogą wykonywać ten program z poziomem dostępu, który odpowiada użytkownikowi, który jest właścicielem pliku. Na przykład, gdy użytkownik chce zmienić swoje hasło, uruchamia polecenie passwd. Program passwd jest własnością konta roota i jest oznaczony jako setuid, więc użytkownik ma tymczasowy dostęp do roota w tym bardzo ograniczonym celu.

Podczas przeglądania uprawnień pliku za pomocą polecenia ls -l, uprawnienie setuid jest wyświetlane jako „ s ” w pozycji bitowej „wykonanie użytkownika”. Na przykład:

 ls -l / usr / bin / passwd 
 -rwsr-xr-x 1 root 54192 20 listopada 17:03 / usr / bin / passwd 

Ustawianie uprawnienia setuid do pliku

Aby ustawić uprawnienia setuid dla pliku wykonywalnego, użyj identyfikatora uprawnień u + s za pomocą polecenia chmod :

 chmod u + s myfile 

Pliki niewykonywalne mogą być oznaczone jako setuid, ale nie mają żadnego efektu; oznaczenie ich setuid nie powoduje automatycznie ich wykonania. W tym przypadku bit uprawnień pojawia się jako wielka litera „ S ”. Na przykład:

 ls -l myfile 
 -rw-r - r-- 1 użytkownik 0 6 marca 10:45 myfile 
 chmod u + s myfile 
 ls -l myfile 
 -rwSr - r-- 1 użytkownik 0 6 marca 10:45 myfile 

Jeśli jednak ustawisz plik jako wykonywalny przez użytkownika za pomocą uprawnienia u + x, zacznie obowiązywać uprawnienie setuid. Następnie będzie reprezentowany na liście małymi literami „ s ”:

 chmod u + x myfile 
 ls -l myfile 
 -rwsr - r-- 1 użytkownik 0 6 marca 10:45 myfile 

Setgid

Setgid jest odpowiednikiem setuid, który nadaje uprawnienia grupie, która jest właścicielem pliku, jest znany jako setgid . Działa w ten sam sposób, a wskaźnik „ s ” lub „ S ” jest wyświetlany w pozycji wykonywania grupy wyjścia ls -l . Na przykład:

 chmod g + s myfile2 
 ls -l myfile2 
 -rw-r-sr-- 1 użytkownik 0 6 marca 10:46 myfile2 

Akronimy komputerowe, plik wykonywalny, Linux, uprawnienia, warunki bezpieczeństwa