Meniu

Drepturi de acces pe Linux - permisiuni

In Linux, spre deosebire de alte sisteme de operare, mai ales datorita faptului ca este un sistem multiuser, vom intalni un sistem special de administrare a drepturilor asupra fisierelor si directoarelor preluat din Unix.

Tipuri de utilizatori

Utilizatorii care pot accesa fisierele sau directoarele sunt impartiti pe trei categorii

owner - proprietarul, cel care a creat fisierul sau directorul
group - un membru grupului din care face parte proprietarul
other - oricare alt utilizator, care nici nu detine fisierul/directorul nici nu face parte din grupul proprietarului

Drepturi de acces pentru fisiere

Sunt impartite in trei categorii

r - (read) citire
w - (write) scriere
x - (execute) executie

Drepturi de acces pentru directoare

Sunt impartite tot in trei categorii, au aceeasi simbolizare dar au alta semnificatie

r - (read) citire; semnifica dreptul de a vizualiza (lista) continutul directorului (comanda ls)
w - (write) scriere; permite adaugarea si stergerea de fisiere
x - (execute) executie; semnifica dreptul de a intra in director (comanda cd)

Vizualizarea si interpretarea permisiunilor

Se face cu ajutorul comenzii

ls -l

Sa vedem ce informatii ofera outputul acestei comenzi si cum se foloseste ea. Daca dorim sa vedem permisiunile unui fisier folosim

ls -l numefisier

Daca dorim sa listam toate fisierele si directoarele din alt director, sa spunem test, dam comanda in directorul respectiv

cd /calecatre/test ls -l

Sa spunem ca ceea ce am afisat mai jos este continutul directorului test si sa facem o analiza scurta.

drwxrwxrwx 20 adi adi 1448 Jan 2 09:27 mandrivalinux/ 
drwxrwxrwx 3 adi adi 72 May 6 2005 Music/ 
-rw-r--r-- 1 adi adi 185575 May 27 2005 Screenshot.png 
-rw-rw-r-- 1 adi adi 4879 Jun 20 2005 shrek-text.scm 
-rwxrwxrwx 1 adi adi 48970 Apr 23 2005 snapshot1.jpg* 
-rwxrwxrwx 1 adi adi 125602 Apr 23 2005 snapshot2.jpg*
-rwxrwxrwx 1 adi adi 144053 May 7 2005 snapshot3.jpg*

Primul caracter poate fi - sau d.
- denota ca avem de a face cu un fisier, iar d ne arata ca este vorba despre un director. Deci in lista noastra primele doua linii apartin unor directoare iar celelalte cinci apartin unor fisiere. Mai sunt si alte caractere pentru alte tipuri de fisiere, cum ar fi: l (legaturi simbolice), p (pipe), s (socket) etc, dar ele nu fac obiectul acestui tutorial. Cele doua nume sunt al propietarului (owner) si respectiv al grupului. Urmeaza data ultimei modificari si apoi numele fisierului sau directorului. Urmatoarele noua caractere dau permisiunile de acces. De ce sunt noua? Foarte simplu. Asa cum ati citit mai sus, sunt trei categorii de utilizatori si trei feluri in care poate fi accesat un fisier, rezultand deci noua combinatii posibile.

Trei pentru owner, trei pentru group si ultimele trei pentru others. Acolo unde caracterul care simbolizeaza un drept este inlocuit cu -, inseamna ca respectiva permisiune nu este acordata. Cele doua directoare au permisiuni activate pentru toti utilizatorii sistemului: rwxrwxrwx. La fel si ultimele trei fisiere. Asta inseamna ca orice utilizator poate sa le modifice sau sa le acceseze dupa bunul plac.

Primele doua fisiere vedem ca au acordate numai anumite drepturi pe care le puteti identifica cu usurinta.

Modificarea permisiunilor

Comanda cu care se face schimbarea permisiunilor este chmod. Aceasta are mai multe moduri in care poate fi apelata.

Cu litere

Intr-un prim mod de utilizare se folosesc urmatoarele conventii: u - propietar , g -grup , o - others, a - toti(all), - retrage drepturile si + adauga drepturile. Daca pentru fisierul

-rw-r--r-- 1 adi adi 185575 May 27 2005 Screenshot.png

vrem sa adaugam drepturi de scriere (w) pentru grup folosim

chmod g+w Screenshot.png

Rezultatul, daca dam

ls -l

este

-rw-rw-r-- 1 adi adi 185575 May 27 2005 Screenshot.png

Se observa aparitia dreptului de scriere pentru grup. Daca vrem sa dam permisiuni scriere citire (rw) pentru toti utilizatorii putem scrie

chmod a+rw Screenshot.png

Rezultatul :

-rw-rw-rw- 1 adi adi 185575 May 27 2005 Screenshot.png

Daca vrem sa retragem dreptul de scriere (w) putem scrie

chmod a-rw Screenshot.png

Cu cifre

Un alt mod de utilizare este folosirea scrierii permisiunilor sub forma zecimala. Este mai putin intuitiv dar odata inteles este destul de usor de aplicat si mai flexibil decat modul prezentat anterior. Pentru fiecare tip de utilizator vom avea o valoare numerica, care va descrie toate cele trei permisiuni (rwx) si care se obtine astfel. Pentru fiecare drept se acorda 1 daca el este dat si 0 daca el este revocat. Va rezulta astfel un numar binar format din trei cifre. Sa luam cazul in care avem 111, adica acordam toate permisiunile. Il transformam apoi in zecimal sub forma 1*1+1*2+1*4=7 unde 1,2 si 4 sunt puterile lui 2 (2^0=1 , 2^1=2 , 2^2=4). Daca aveam o serie de drepturi de tipul -wx vom avea 0*1+1*2+1*4=6 . Acesta cum spuneam este numai pentru un tip de utilizator. De exemplu pentru toate cele trei categorii , owner, group si others , permisiunile rwxrwxrwx s-ar scrie dupa modelul de mai sus, luate trei cate trei 777. Atunci comanda ar fi sub forma

chmod 777 Screenshot.png

care ar avea ca rezultat

-rwxrwxrwx 1 adi adi 185575 May 27 2005 Screenshot.png

Ca o metoda usora de memorare a acestei metode, trebuie sa stiti ca faceti sume din 1, 2 si 4 functie de drepturile pe care doriti sa le acordati.

Modificarea propietarului

Modificarea propietarului (owner) se face folosind comanda chown. Daca, sa spunem, fisierul dat in exemplele de mai sus si care are ownerul adi din grupul adi vrem sa il trecem sub propietatea lui lucian din grupul adi, folosim comanda

chown lucian.adi Screenshot.png

rezultatul va fi

-rwxrwxrwx 1 lucian adi 185575 May 27 2005 Screenshot.png

Daca nu cunoasteti grupul userului puteti sa nu il precizati.

Observatii

Daca vrem sa aplicam comanda chmod pentru toate fisierele dintr-un director , folosim optiunea -R recursive. Daca vrem sa dam drepturi depline tuturor asupra fisierelor din directorul mandrivalinux din lista de mai sus putem folosi

chmod -R a+rwx mandrivalinux

sau

chmod -R 777 mandrivalinux

Aveti si o serie de alte metode de modificare a permisiunilor din interiorul unor file managere cum ar fi mc unde lucrurile pot fi rezolvate mult mai usor,chiar cu ajutorul mouseului.

Trebuie sa aveti grija cui si ce permisiuni acordati utilizatorilor pe un sistem linux, securitatea acestuia depinzand mult de acest aspect.

Utilizatorul root poate acorda/modifica permisiunile tuturor utilizatorilor.

Textul necesita completari cu privire la SUID si SGID precum si la bitul Sticky pentru directoare.

John Doe

Articole publicate de la contributori ce nu detin un cont pe gnulinux.ro. Continutul este verificat sumar, iar raspunderea apartine contributorilor.
  • | 340 articole

Nici un comentariu inca. Fii primul!
  • powered by Verysign