Drepturi de acces sub linux
In Linux fiecare fisier are drepturi de acces bine stabilite. Aceste drepturi se refera la posibilitate de a fi citit, scris sau executat de diferite categorii de utilizatori (Owner, Group si Others)
Drepturile asupra unui fisier pot fi reprezentate prin literele r (read), w (write), x (execute), in aceasta ordine. De exemplu r-x inseamna o permisiune de citire, executare, dar nu de scriere asupra fisierului, iar –x inseama o permisiune de executare, si nu de scriere sau citire.
In cazul comenzii ls, drepturile de acces asupra fisierelor apar in forma -rw-r-xr– . Aceastra forma se citeste astfel: primul caracter arata daca itemul este un fisier (“-”), director(“d”) sau link(“l”). Urmeaza apoi 9 caractere care se impart in trei grupuri de cate trei caractere: rw- pentru owner, r-x pentru grup si r– pentru others.Acestea reprezinta drepturile de acces. In destule cazuri, drepturile de acces apar sub forma a trei cifre (octal), de genul 644(forma numerica). Daca un fisier are drepturi de acces 644, aceasta inseamna ca are drepturi de scriere si citire pentru owner si doar de citire pentru group si others. La forma numerica se poate ajunge notand drepturile de scriere in binar, pe trei biti ( 1 daca dreptul exista, 0 daca nu: rwx 111, -wx 011,-w- 010, – - – 000
| Owner | Group | Others | |
| rw- | r- - | r- - | Drepturi de acces in forma literala |
| 110 | 100 | 100 | Conversia lor in binar |
| 6 | 4 | 4 | Drepturile de acces in forma numerica |
Schimbarea drepturilor de acces se face cu ajutorul comenzii chmod. Aceasta se poate utiliza cu cele doua modalitati de reprezentare a drepturilor de acces: numeric si literal. Un exemplu de utilizare in mod numeric este:
chmod 755 nume_fisier
Pentru utilizare in forma literala structura comenzii este: chmod [ugoa...][[+-=][rwxXstugo...]…][,...] nume_fisier. O combinatie de litere din ‘ugoa‘ controleaza care dintre utilizatori au acces la respectivul fisier: utilizatorul care detine fisierul (owner) prin “u“, alti utilizatori prin grupul fisierului (group) prin “g“, alti utilizatori care nu fac parte din grupul fisierului (others) prin “o” sau toti utilizatorii (all) prin “a“. Operatorul “+” face ca permisiunea selectata sa fie adaugata utilizatorului specificat, operatorul “-” face ca permisiunea sa fie scoasa, iar operatorul “=” face ca permisiunea sa fie singura pe care o apre fisierul. Un exemplu de utilizare este:
chmod u+r,g-w,o-x nume_fisier
Ownerul si grupul din care face parte un fisier pot fi schimbate cu ajutorul comenzii:
chown nume_utilizator nume_fisier
chgrp nume_grup nume_fisier
Suid
Cand unui executabil ii este atribuit acest atribut, user normali pot rula acel executabil cu privilegiile ownerului acela fiind in cele mai multe cazuri root. Un exemplu pentru a arata acest lucru
ls -lh /bin/ping
-rwxr-xr-x 1 root root 31K 2007-05-13 09:09 /bin/ping
ping 127.0.0.1
ping: icmp open socket: Operation not permitted
chmod +s /bin/ping
ls -lh /bin/ping
-rwsr-sr-x 1 root root 31K 2007-05-13 09:09 /bin/ping
ping 127.0.0.1
PING 127.0.0.1 (127.0.0.1) 56(84) bytes of data.
64 bytes from 127.0.0.1: icmp_seq=1 ttl=64 time=0.028 ms
Did you enjoy this post? Why not leave a comment below and continue the conversation, or subscribe to my feed and get articles like this delivered automatically to your feed reader.

Mersi pentru acest tutorial