Permisiunile speciale în Linux sunt permisiuni avansate care pot fi setate pe fișiere sau directoare și oferă capacități sau restricții suplimentare.
Acestea vă permit să gestionați privilegiile și securitatea sistemului mai precis decât drepturile de acces normale (citire, scriere, executare). De asemenea, drepturile speciale de acces în Linux oferă capabilități sau restricții speciale pentru un utilizator, grup sau fișiere. Acestea includ următoarele drepturi de acces:
Dreptul de execuție (execute
): rulați fișiere executabile sau utilizați o comandă pentru a efectua anumite acțiuni.Citire
: Vizualizarea conținutului unui fișier sau director.Scriere
: Modificarea conținutului unui fișier sau crearea, modificarea sau ștergerea fișierelor dintr-un director.Pe un sistem Linux, există diverse drepturi de acces la fișiere și directoare care determină ce acțiuni pot fi permise sau refuzate pentru un anumit utilizator sau grup de utilizatori. Următoarele sunt principalele drepturi speciale de acces pentru fișiere în Linux:
"setuid
"(suid
): atunci când permisiunea"setuid
" este setată pe un fișier executabil, procesul rulează cu privilegiile proprietarului fișierului mai degrabă decât ale utilizatorului care îl execută. Aceasta oferă o resetare temporară a privilegiilor pentru anumite sarcini."setgid
"(sgid
): atunci când permisiunea"setgid
" este setată pe un fișier executabil, procesul este pornit cu privilegiile grupului proprietarului fișierului, nu ale grupului utilizatorului care îl pornește. Acest lucru permite partajarea fișierelor și a resurselor între membrii aceluiași grup."sticky bit
": setarea unui"sticky bit
" pe un director permite numai proprietarului fișierului să șteargă sau să mute fișiere din directorul respectiv, chiar dacă alți utilizatori au privilegii de scriere în directorul respectiv. Acest lucru este util pentru utilizarea generală a unui director cum ar fi /tmp pentru a împiedica alți utilizatori să șteargă sau să modifice fișiere.De obicei, aceste permisiuni speciale sunt specificate împreună cu permisiunile standard (rwx) și sunt indicate prin valori simbolice sau numerice. De exemplu, setuid
este indicat de un"s
" în loc de un"x
" pentru proprietarul unui fișier executabil.
Dacă doriți să stabiliți sau să modificați permisiuni speciale pentru fișiere în Linux, puteți utiliza comanda chmod cu argumentele corespunzătoare. De exemplu, pentru aseta "setuid
" pe un fișier executabil, puteți utiliza comanda"chmod u+s nume fișier
".
Drepturile speciale de acces (SUID, SGID și Sticky bit) pot fi setate pe fișiere sau directoare folosind comanda chmod
în Linux.
Pentru a seta SUID:
chmod +s file_name
Pentru a seta SGID pe un director:
chmod +s directory_name
Pentru a instala Sticky bit pe un director:
chmod +t derectory_name
Notă: Instalarea SUID-urilor pe fișiere se recomandă a fi restricționată, deoarece poate fi o potențială amenințare la adresa securității sistemului. Utilizați drepturile speciale de acces cu prudență și numai în situațiile în care acestea sunt bine justificate și nu creează vulnerabilități.
Puteți utiliza comanda `ls-l`
pentru a vizualiza drepturile speciale de acces care au fost setate. Permisiunile, inclusiv permisiunile speciale, vor fi afișate ca valori alfabetice sau numerice după permisiunile fișierului sau ale directorului.