Există 3 permisiuni speciale care sunt disponibile pentru fișierele și directoarele executabile. Acestea sunt :

1. Permisul SUID
2. Permisul SGID
3. Sticky bit

Set-user Identification (SUID)

Te-ai gândit vreodată, cum poate un utilizator non-root să-și schimbe propria parolă atunci când nu are permisiunea de scriere în fișierul /etc/shadow. hmmm… interesant, nu-i așa? Ei bine, pentru a înțelege trucul verificați permisiunea comenzii /usr/bin/passwd :

# ls -lrt /usr/bin/passwd-r-sr-sr-x 1 root sys 31396 Jan 20 2014 /usr/bin/passwd

– Dacă verificați cu atenție, veți găsi cei 2 S în câmpul de permisiune. Primul s reprezintă SUID, iar al doilea reprezintă SGID.
– Atunci când o comandă sau un script cu bitul SUID setat este executat, UID-ul său efectiv devine cel al proprietarului fișierului, și nu al utilizatorului care îl execută.
– Un alt bun exemplu de SUID este comanda su :

# ls -l /bin/su -rwsr-xr-x-x 1 root user 16384 Jan 12 2014 /bin/su

– Permisiunea setuid afișată ca un „s” în câmpul execute al proprietarului.

Cum se setează SUID pe un fișier?

# chmod 4555 

Nota :
Dacă în câmpul execute al proprietarului apare un „S” majusculă, aceasta indică faptul că bitul setuid este activat, iar bitul de execuție „x” pentru proprietarul fișierului este dezactivat sau refuzat.

Set-group identification (SGID)

Permisiune SGID pe un fișier executabil

– Permisiunea SGID este similară cu permisiunea SUID, singura diferență este – atunci când scriptul sau comanda cu SGID activat este rulată, se execută ca și cum ar fi membru al aceluiași grup în care este membru fișierul.

# ls -l /usr/bin/write-r-xr-sr-x 1 root tty 11484 Jan 15 17:55 /usr/bin/write

– Permisiunea setgid se afișează ca un „s” în câmpul execute al grupului.

Nota :
– Dacă în câmpul execute al grupului apare o literă minusculă „l”, aceasta indică faptul că bitul setgid este activat, iar bitul execute pentru grup este dezactivat sau refuzat.

Cum setați GUID pe un fișier?

# chmod 2555 

SGID pe un director

– Când permisiunea SGID este setată pe un director, fișierele create în director aparțin grupului din care directorul este membru.
– De exemplu, dacă un utilizator care are permisiunea de scriere în director creează un fișier acolo, acel fișier este membru al aceluiași grup ca și directorul și nu al grupului utilizatorului.
– Acest lucru este foarte util în crearea de directoare partajate.

Cum se stabilește SGID pe un director

# chmod g+s 

Sticky Bit

– Sticky Bit este utilizat în principal în directoarele partajate.
– Este util pentru directoare partajate, cum ar fi /var/tmp și /tmp, deoarece utilizatorii pot crea fișiere, citi și executa fișiere deținute de alți utilizatori, dar nu au voie să elimine fișiere deținute de alți utilizatori.
– De exemplu, dacă utilizatorul bob creează un fișier numit /tmp/bob, celălalt utilizator tom nu poate șterge acest fișier chiar dacă directorul /tmp are permisiunea 777. Dacă bitul sticky nu este setat, atunci tom poate șterge /tmp/bob, deoarece fișierul /tmp/bob moștenește permisiunile directorului părinte.
– utilizatorul root (Off course!) și proprietarul fișierelor pot elimina propriile fișiere.

Exemplu de sticky bit :

# ls -ld /var/tmpdrwxrwxrwt 2 sys sys 512 Jan 26 11:02 /var/tmp

- T refers to when the execute permissions are off.- t refers to when the execute permissions are on.

Cum se stabilește permisiunea sticky bit?

# chmod +t or # chmod 1777 

.

Lasă un răspuns

Adresa ta de email nu va fi publicată.