suid i sgid — pożyteczne i niebezpieczne narzędzie
Zadaniem jest uruchamianie programu (lecz nie skryptu) z prawami właściciela lub grupy przypisanej temu programowi, a nie z prawami użytkownika, który ten program uruchamia.
Zagrożenie — przejęcie kontroli nad systemem.
Jeśli zwykłemu użytkownikowi uda się tak wywołać (zawiesić) program (którego właścicielem jest użytkownik root i który ma ustawioną flagę suid lub sgid), aby dostać się do powłoki UNIX to otrzyma on prawa właściciela programu (czyli w tym przypadku usera root) co stanowi ogromne zagrożenie dla pracującego systemu, tak więc należy z dużym rozsądkiem używać tych flag.
Nadawanie plikom suid‑a lub sgid‑a
suid :
chmod u+s nazwa_plku
chmod 4*** nazwa_pliku
sgid :
chmod g+s nazwa_pliku
chmod 2*** nazwa_pliku
suid i sgid :
chmod 6*** nazwa_pliku
*** — tu wstawiamy dowolne prawa dla właściciela, grupy i innych użytkowników.
Flaga suid w listingach plików reprezentowana jest przez literkę s w prawach dla właściciela pliku :
- rws r‑x r‑x
Flaga sgid w listingach plików reprezentowana jest przez literkę s w prawach dla grupy : — rwx r‑s r‑x