// ghid Linux

chmod, chown și umask în Linux

Permisiunile Linux sunt simple ca model, dar greșelile apar atunci când aplicăm mecanic chmod fără să înțelegem proprietarul, grupul și diferența dintre fișiere și directoare.

Modelul rwx

Linux separă permisiunile pentru owner, group și others. r înseamnă read, w write și x execute. ls -l îți arată combinația efectivă pentru fiecare fișier.

chmod simbolic și octal

Poți folosi chmod u+x script.sh sau mod octal, de exemplu chmod 640 config. În octal, read=4, write=2 și execute=1. Adunarea valorilor produce permisiunea pentru fiecare categorie.

chown și chgrp

chown utilizator:grup fisier schimbă proprietarul și grupul. Pentru aplicații web, multe probleme aparent „de permisiuni” sunt de fapt probleme de ownership. Înainte de chmod, verifică cine rulează procesul și cine trebuie să scrie în director.

Ce înseamnă x pe directoare

Pe un director, execute nu înseamnă executarea directorului, ci posibilitatea de traversare și acces la intrări dacă numele este cunoscut. De aceea permisiunile directoarelor trebuie judecate diferit față de fișiere.

umask

umask definește ce permisiuni sunt eliminate implicit la crearea fișierelor și directoarelor. O valoare comună este 022; în medii mai restrictive poți întâlni 027 sau 077.

De ce chmod 777 este aproape niciodată soluția

777 oferă tuturor drept de citire, scriere și execuție. Poate face o aplicație să „meargă”, dar elimină separarea accesului și poate crea vulnerabilități. Repară ownership-ul și acordă doar permisiunile necesare.

Vrei să transformi teoria în practică? Vezi cursurile Linux și traseele Linux Advanced, LPIC-1 și Bash.

Întrebări frecvente

Ce înseamnă chmod 755?

Owner are rwx, iar group și others au r-x.

Ce înseamnă chmod 644?

Owner are read și write, iar group și others au doar read; este frecvent pentru fișiere obișnuite.