Permisiuni de fișiere în Linux / Unix: Cum să citești, să scrii și să modifici
⚡ Rezumat inteligent
Permisiunile fișierelor în Linux și Unix controlează cine poate citi, scrie și executa fiecare fișier, protejând un sistem multi-utilizator prin două straturi: proprietatea, care atribuie un utilizator, un grup și alte persoane, și biții de permisiune de citire, scriere și execuție.

Permisiuni de fișier în Linux și Unix decid cine poate citi, modifica sau rula fiecare fișier, ceea ce menține un sistem partajat, cu mai mulți utilizatori, în siguranță. Această pagină prezintă proprietatea fișierelor, permisiunile de citire, scriere și executare, precum și comenzile care le modifică.
Linux este o clonă a Unix, sistemul de operare multi-utilizator care poate fi accesat de mai mulți utilizatori simultan. Linux poate fi utilizat și pe mainframe-uri și servere fără nicio modificare. Însă acest lucru ridică probleme de securitate, deoarece un utilizator nesolicitat sau rău intenționat poate corupe, modifica sau elimina date cruciale. Pentru o securitate eficientă, Linux împarte autorizarea în două niveluri:
- Proprietate
- permisiune
Conceptul de permisiune și proprietate asupra fișierelor este crucial în Linux. Aici, vom explica permisiunile și proprietatea în Linux și le vom discuta pe amândouă. Să începem cu proprietatea.
Proprietatea fișierelor Linux
Fiecărui fișier și director din sistemul Unix/Linux îi sunt atribuite trei tipuri de proprietar, prezentate mai jos. Diagrama de mai jos arată cum se corelează proprietatea cu utilizatorul, grupul și alte persoane.
Utilizator
Un utilizator este proprietarul fișierului. În mod implicit, persoana care a creat un fișier devine proprietarul acestuia. Prin urmare, un utilizator este uneori numit și proprietar.
grup
A grup de utilizatori poate conține mai mulți utilizatori. Toți utilizatorii care aparțin unui grup au aceleași permisiuni de grup Linux asupra fișierului. Să presupunem că aveți un proiect în care mai multe persoane necesită acces la un fișier. În loc să atribuiți manual permisiuni fiecărui utilizator, puteți adăuga toți utilizatorii într-un grup și puteți atribui permisiuni de grup asupra fișierului, astfel încât numai acești membri ai grupului și nimeni altcineva să poată citi sau modifica fișierele.
Altele
Orice alt utilizator care are acces la un fișier. Această persoană nu a creat fișierul și nici nu aparține unui grup de utilizatori care ar putea deține fișierul. Practic, înseamnă toți ceilalți. Prin urmare, atunci când setați permisiunea pentru alții, aceasta este denumită și setarea permisiunilor pentru întreaga lume.
Acum apare marea întrebare: cum distinge Linux între aceste trei tipuri de utilizatori, astfel încât un utilizator „A” să nu poată modifica un fișier care conține informații sau date vitale ale altor utilizatori „B”? Este ca și cum nu ai vrea un coleg care să lucreze la fișierul tău. Calculator Linux pentru a vizualiza imaginile dvs. Aici intervin permisiunile și definesc comportamentul utilizatorului.
Să înțelegem sistemul de permisiuni pe Linux.
Permisiuni de fișiere Linux
Fiecare fișier și director din sistemul dumneavoastră Unix/Linux are următoarele trei permisiuni definite pentru toți cei trei proprietari discutați mai sus.
- Citi: Această permisiune vă oferă autoritatea de a deschide și citi un fișier. Permisiunea de citire asupra unui director vă oferă posibilitatea de a lista conținutul acestuia.
- Scrie: Permisiunea de scriere vă oferă autoritatea de a modifica conținutul unui fișier. Permisiunea de scriere asupra unui director vă oferă autoritatea de a adăuga, elimina și redenumi fișierele stocate în director. Luați în considerare un scenariu în care aveți permisiune de scriere asupra unui fișier, dar nu aveți permisiune de scriere asupra directorului în care este stocat fișierul. Veți putea modifica conținutul fișierului, dar nu veți putea redenumi, muta sau elimina fișierul din director.
- A executa: In Windows, un program executabil are de obicei o extensie „.exe”, pe care o puteți rula cu ușurință. În Unix/Linux, nu puteți rula un program decât dacă este setată permisiunea de execuție. Dacă permisiunea de execuție nu este setată, este posibil să puteți vedea sau modifica codul programului (cu condiția ca permisiunile de citire și scriere să fie setate), dar să nu îl rulați.
Să vedem permisiunile fișierelor în Linux cu exemple. Rularea comenzii ls -l în terminal dă:
ls -l
Captura de ecran de mai jos prezintă șirul de permisiuni într-o listă lungă.
Aici, am evidențiat „-rw-rw-r–”, iar acest cod cu aspect ciudat este cel care ne spune despre permisiunile Unix acordate proprietarului, grupului de utilizatori și întregii lumi.
Aici, primul „-” implică faptul că am selectat un fișier. Pictograma de mai jos marchează un fișier obișnuit.
Altfel, dacă ar fi fost un director, ar fi fost afișat un „d”, ca în lista de mai jos.
Caracterele sunt destul de ușor de reținut.
- r = permisiune de citire
- w = permisiune de scriere
- x = permisiune de executare
- – = fără permisiune
Să privim lucrurile astfel. Prima parte a codului este „rw-”. Aceasta sugerează că proprietarul „Home” poate:
- Citiți fișierul
- Scrieți sau editați fișierul
Proprietarul nu poate executa fișierul, deoarece bitul de execuție este setat la „-”. Pictograma de mai jos arată bitul de execuție șters la o cratimă.
Prin design, multe distribuții Linux precum Fedora, CentOS și Ubuntu adăugați un utilizator la un grup cu același nume ca și utilizatorul. Astfel, un utilizator „tom” este adăugat la un grup numit „tom”.
A doua parte este „rw-”. Este pentru grupul de utilizatori „Acasă”, iar membrii grupului pot:
- Citiți fișierul
- Scrieți sau editați fișierul
A treia parte este pentru lume, adică orice utilizator. Scrie „r–”. Aceasta înseamnă că utilizatorul poate doar:
- Citiți fișierul
Defalcarea de mai jos mapează fiecare parte a șirului de permisiuni cu proprietarul, grupul și lumea.
Modificarea permisiunilor pentru fișiere/directoare în Linux folosind comanda „chmod”
Să presupunem că nu vrei ca un coleg să-ți vadă imaginile personale. Acest lucru se poate realiza prin modificarea permisiunilor fișierelor.
Putem folosi „chmod” comandă, care înseamnă „mod de schimbare”. Folosind comanda, putem seta permisiuni (citire, scriere, execuție) asupra unui fișier sau director pentru proprietar, grup și pentru întreaga lume.
Sintaxă:
chmod permissions filename
Există două moduri de a utiliza comanda:
- Modul absolut
- Modul simbolic
Modul absolut (numeric) în Linux
În acest mod, permisiunile fișierelor nu sunt reprezentate prin caractere, ci printr-un număr octal din trei cifre. Tabelul de mai jos prezintă numerele pentru toate tipurile de permisiuni.
| Număr | Tip de permisiune | Simbol |
|---|---|---|
| 0 | Fara permisiune | - |
| 1 | Executa | -X |
| 2 | Scrie | -W- |
| 3 | Executare + Scriere | -wx |
| 4 | Citiți | r– |
| 5 | Citiți + Executați | rx |
| 6 | Citiți + Scrieți | rw- |
| 7 | Citire + Scriere + Executare | rwx |
Să vedem comanda chmod în acțiune, așa cum se arată în fereastra terminalului de mai jos.
În fereastra terminalului de mai sus, am modificat permisiunile fișierului „sample” la „764”. Codul absolut „764” spune următoarele:
- Proprietarul poate citi, scrie și executa.
- Grupul de utilizatori poate citi și scrie.
- Lumea poate doar citi.
Aceasta este afișată ca „-rwxrw-r–”, ca în rezultatul de mai jos.
Iată cum puteți modifica permisiunile utilizatorilor în Linux asupra unui fișier prin atribuirea unui număr absolut.
Modul simbolic în Linux
În modul absolut, modificați permisiunile pentru toți cei trei proprietari. În modul simbolic, puteți modifica permisiunile unui anumit proprietar. Se utilizează simboluri matematice pentru a modifica permisiunile fișierelor Unix.
| OperaTdR | Descriere |
|---|---|
| + | Adaugă o permisiune la un fișier sau director |
| - | Îndepărtează permisiunea |
| = | Setează permisiunea și suprascrie permisiunile setate anterior |
Diferiții proprietari sunt reprezentați după cum urmează.
| Utilizator | Denotații |
|---|---|
| u | proprietar / utilizator |
| g | grup |
| o | alte |
| a | toate |
Nu vom folosi permisiuni în numere precum 755, ci în caractere precum rwx. Să ne uităm la exemplul de mai jos.
Schimbarea proprietății și a grupului în Linux
Pentru a schimba proprietarul unui fișier sau director, puteți utiliza următoarea comandă:
chown user filename
În cazul în care doriți să schimbați utilizatorul, precum și grupul pentru un fișier sau director, utilizați comanda:
chown user:group filename
Să vedem acest lucru în acțiune, așa cum se arată mai jos.
În cazul în care doriți să schimbați doar proprietarul grupului, utilizați comanda:
chgrp group_name filename
„chgrp” înseamnă „change group” (grup de schimbare). Captura de ecran de mai jos arată comanda chgrp în uz.
Vârf
- Fișierul /etc/group conține toate grupurile definite în sistem.
- Puteți folosi comanda „groups” pentru a găsi toate grupurile din care faceți parte, așa cum se arată mai jos.
- Puteți utiliza comanda newgrp pentru a lucra ca membru al unui grup diferit de grupul implicit, așa cum se arată mai jos.
- Nu puteți avea două grupuri care să dețină același fișier.
- Nu aveți grupuri imbricate în Linux. Un grup nu poate fi un subgrup al altuia.
- x — executarea unui director înseamnă a avea permisiunea de a „intra” într-un director și de a obține acces posibil la subdirectoare.
- Există și alte permisiuni pe care le puteți seta pentru fișiere și directoare, care vor fi abordate într-un tutorial avansat ulterior.






.png)
.png)
.png)
.png)
.png)


