Înțelegerea permisiunilor Linux este crucială pentru oricine lucrează cu sisteme Linux. Indiferent dacă sunteți un nou administrator de sistem, dezvoltator sau pasionat de Linux, stăpânirea permisiunilor fișierelor este esențială pentru menținerea securității sistemului și controlul adecvat al accesului la fișiere.
Utilizator, Grup și Alții
Linux implementează un sistem de permisiuni ierarhice cu trei niveluri de acces:
- Utilizator (u): proprietarul fișierului
- Grupa (g): Membrii grupului atribuit fișierului
- Altele (o): Toți ceilalți din sistem
Permisiuni de citire, scriere și execuție
Fiecare nivel de permisiune are trei drepturi de bază:
- Citiți (r): Valoarea 4
- scrie (w): valoarea 2
- Executați (x): valoarea 1
# Example file permissions display -rwxr-xr-- 1 user group 4096 Nov 1 2024 example.txt
Notație numerică de permisiune
Permisiunile pot fi reprezentate numeric:
- 7 (rwx) = 4 + 2 + 1
- 6 (rw-) = 4 + 2
- 5 (rx) = 4 + 1
- 4 (r–) = 4
Comanda chmod
# Symbolic mode chmod u+x script.sh # Add execute permission for user chmod g-w file.txt # Remove write permission for group chmod o=r document.pdf # Set others to read-only # Numeric mode chmod 755 script.sh # rwxr-xr-x chmod 644 file.txt # rw-r--r--
Înțelegerea umask
Comanda umask stabilește permisiunile implicite pentru fișiere și directoare noi:
# Check current umask umask # Set new umask umask 022 # Results in 755 for directories, 644 for files
Lucrul cu su și sudo
# Switch to root user su - # Execute single command as root sudo apt update # Edit system file with sudo sudo nano /etc/hosts
Gestionarea proprietății cu chown
# Change owner chown user1 file.txt # Change owner and group chown user1:group1 file.txt # Recursive ownership change chown -R user1:group1 directory/
Încercați acest exercițiu practic:
Problemă: Creați un script care trebuie să fie executabil numai de proprietar, să fie citit de grup și inaccesibil pentru alții.
- Creați un fișier nou:
touch script.sh
- Sarcina dvs.: Setați permisiunile corespunzătoare folosind chmod.
Soluţie:
# Create the file touch script.sh # Set permissions (owner: rwx, group: r--, others: ---) chmod 740 script.sh # Verify permissions ls -l script.sh
- Permisiunile sunt împărțite în utilizator, grup și altele
- Permisiunile de bază sunt citire (4), scriere (2) și executare (1)
- chmod modifică permisiunile
- umask setează permisiunile implicite
- su și sudo oferă privilegii ridicate
- chown schimbă proprietatea fișierului
Permisiuni server web
# Standard web directory permissions chmod 755 /var/www/html chmod 644 /var/www/html/*.html
Probleme comune de permisiuni
- Acces refuzat
# Check file permissions ls -l problematic_file # Check current user and groups id
- Nu se poate executa Scriptul
# Make script executable chmod +x script.sh
-
Î: De ce nu pot modifica un fișier chiar ca proprietar? R: Verificați dacă fișierul are permisiuni de scriere pentru proprietar
ls -l
. Utilizarechmod u+w filename
pentru a adăuga permisiuni de scriere. -
Î: Care este diferența dintre su și sudo? R: „su” trece complet la alt cont de utilizator, în timp ce „sudo” execută comenzi individuale cu privilegii ridicate.
-
Î: Cum modific recursiv permisiunile? R: Folosiți chmod cu steag-ul -R:
chmod -R 755 directory/
-
Î: Care este cea mai sigură permisiune pentru fișierele de configurare? R: De obicei, 644 (rw-r–r–) sau 640 (rw-r—–), în funcție de cerințele de securitate.
-
Î: Cum verific membrii actuali ai utilizatorului și grupului? A: Folosiți
id
comandă pentru a afișa toate informațiile despre utilizator și grup.
Înțelegerea permisiunilor Linux este fundamentală pentru securitatea sistemului și gestionarea corectă a fișierelor. Practicați aceste comenzi în mod regulat și luați în considerare întotdeauna implicațiile de securitate atunci când modificați permisiunile.