Linux Basic Administration

DOCUMENTATIE CURS

Permisiuni speciale

In afara permisiunilor standard (read, write si execute) exista urmatoarele permisiuni speciale:

1) SUID (setuid).
Reprezinta o permisiune speciala pentru fisierele executabile.
Important
In Linux un fisier executabil are aceleasi drepturi ca si userul care il executa. Setand bit-ul SUID, la executare fisierul are drepturile owner-ului si nu al celui care il executa.
Fisierele cu SUID setat si cu owner root reprezinta o grava problema de securitate. Oricine le poate executa, iar in urma executiei procesul creat va avea drepturi de root.

Exemplu
1. Comanda rm este reprezentata fizic prin fisierul executabil /bin/rm care are drept owner pe root. In momentul in care root executa comanda rm efectul este ca aceasta comanda are drepturile lui root si poate sterge orice fisier din sistem. Daca un alt user executa comanda rm, efectul este ca aceasta comanda va avea drepturile userului care a executat-o si deci nu va putea sterge niciun fisier important.

In schimb daca se seteaza permisiunea SUID pentru fisierul /bin/rm, orice user non-root care executa comanda rm va putea sterge ORICE fisier din sistem. Acest lucru se intampla fiindca comanda rm are drepturile ownerului adica root si nu drepturile celui care o executa cum este default.

2. User neprivilegiat care poate vizualiza fisierul /etc/shahow fiindca comanda less are SUID setat

Comanda ls -l afiseaza pentru fisierele cu SUID setat "s" (s mic) pe pozitia dreptului de executie pentru owner daca fisierul are dreptul de executie pt. owner sau "S" (s mare) daca fisierul nu are dreptul de executie pentru owner.

2) SGID (setgid).
Reprezinta o permisiune speciala care are efecte diferite daca se aplica unui fisier sau unui director. Cand se aplica unui fisier, daca fisierul este executabil, procesul creat in urma executiei fisierului va rula cu drepturile grupului care detine fisierul si nu cu grupul primar al userului care executa fisierul.
Aceasta permisiune ( SGID) este folosita mai ales pentru directoare si anume pentru a crea directoare "shared".
Fisierele noi create in interiorul directorului vor avea ca grup care le detine grupul directorului si nu al userului care le creaza cea ce se intampla default.
Comanda ls -l afiseaza pentru fisiere cu SGID setat "s" (s mic) pe pozitia dreptului de executie pentru grup daca fisierul sau directorul are dreptul de executie pt. grup sau "S" (s mare) daca fisierul sau directorul nu are dreptul de executie pentru grup.

3) Sticky bit.
Se foloseste pentru directoarele "world writeable" si are rolul de a preveni posibilitatea stergerii continutului acestora de catre useri altii decat ownerul directorului cu sticky bit setat sau ownerul fisierului din acel director, chiar daca drepturile directorului ar permite acest lucru (rwx).
Exemplu: /tmp
Nota
Root face exceptie, iar grupul fisierului se supune regulii (nu poate modifica).


Aplicatie: Sticky Bit se foloseste in momentul in care se doreste crearea unui director world writeable (toate permisiunile pentru toti userii), dar cu protejarea continutului. Fara sticky bit orice user poate crea fisiere in director, dar poate si sterge fisierele create de alti useri. Daca directorul are sticky bit, fiecare user are dreptul sa stearga doar propriile fisiere.

Comanda ls -l afiseaza pentru directoarele cu sticky bit setat "t" (t mic) pe pozitia dreptului de executie pentru other daca fisierul are dreptul de executie pentru other sau "T" (t mare) in rest.

Important
Comanda folosita pentru a gasi toate fisierele care au SUID setat este find. Aceasta se foloseste impreuna cu criteriul -perm -4000 si va gasi toate fisierele care au cel putin permisiunea SUID (4 pe prima pozitie in octal). Alte permisiuni sunt permise.




Durata: 1.15 min
Marime: 3.6 MB
Nota: Se recomanda folosirea VLC pentru vizualizarea tutorialului video.
© 2006-2022 Crystal Mind Academy. All rights reserved