Mesajul „Permission denied” apare în Linux atunci când utilizatorul curent nu are dreptul să citească, să modifice, să execute sau să acceseze un fișier ori un folder. Nu este o eroare misterioasă și nu înseamnă automat că sistemul este stricat. De cele mai multe ori, problema ține de trei lucruri clare: proprietarul fișierului, grupul asociat sau permisiunile setate.
În Linux, fiecare fișier are biți de permisiune care controlează ce tip de acces au utilizatorii asupra lui. GNU Coreutils explică faptul că aceste permisiuni pot fi reprezentate simbolic sau numeric, iar ele stabilesc accesul pentru utilizator, grup și ceilalți utilizatori.
Primul pas: vezi cine ești și ce încerci să accesezi
Înainte să folosești sudo sau să schimbi permisiuni, verifică exact contextul.
whoami pwd ls -l nume-fisier
whoami îți arată utilizatorul curent. pwd arată folderul în care te afli. ls -l afișează permisiunile, proprietarul, grupul și numele fișierului.Un exemplu de rezultat:
-rw-r----- 1 root www-data 1240 iunie 30 config.php
root și grupului www-data. Permisiunile spun că proprietarul poate citi și scrie, grupul poate doar citi, iar ceilalți utilizatori nu au acces.Cum citești permisiunile
La începutul liniei vezi ceva de forma:
-rwxr-x---
- pentru fișier, d pentru director. Apoi vin trei grupuri de câte trei caractere:rwx r-x --- user grup alții
rînseamnă read, adică citire.wînseamnă write, adică scriere/modificare.xînseamnă execute, adică rulare pentru fișiere sau accesare pentru directoare.
Pentru directoare, x este foarte important. Poți avea permisiune de citire pe un folder, dar fără x nu poți intra efectiv în el.
Când ai nevoie de chmod
Folosești chmod atunci când permisiunile sunt greșite. Pagina de manual pentru chmod precizează că această comandă modifică biții de permisiune ai fișierului, fie în format simbolic, fie în format numeric.
Exemple sigure:
chmod u+x script.sh
./script.sh
chmod 644 fisier.txt
Pentru directoare obișnuite:
chmod 755 folder
Ce trebuie evitat:
chmod 777 fisier
Când ai nevoie de chown
Folosești chown când problema nu este permisiunea, ci proprietarul. Manualul Linux explică faptul că chown schimbă utilizatorul și/sau grupul care deține un fișier.
Exemplu:
sudo chown ion:ion raport.txt
raport.txt să aparțină utilizatorului ion și grupului ion.Pentru un proiect web, poți vedea situații în care fișierele sunt deținute de root, dar aplicația rulează sub alt utilizator. Atunci apar erori la upload, cache, loguri sau update-uri. Soluția nu este chmod 777, ci verificarea proprietarului și setarea corectă a drepturilor.
Când folosești sudo
sudo rulează o comandă cu privilegii administrative. Nu trebuie folosit automat la orice eroare. Dacă nu ai dreptul să editezi un fișier de sistem, sudo poate fi justificat. Dacă lucrezi în propriul folder personal și primești „Permission denied”, mai probabil ai o problemă de proprietar sau permisiuni.
Exemplu corect:
sudo nano /etc/hosts
sudo rm -rf folder
Rețeta corectă de depanare
Când apare „Permission denied”, nu ghici. Verifică în ordine:
whoami ls -l fisier ls -ld folder
Ai nevoie să citești, să scrii sau să rulezi?
Fișierul este al utilizatorului tău sau al altcuiva?
Folderul are permisiune x pentru acces?
Este un fișier de sistem unde chiar ai nevoie de sudo?
Este un server unde modificarea poate afecta o aplicație?
Rezolvarea corectă depinde de cauză. chmod modifică permisiuni. chown modifică proprietarul. sudo oferă privilegii temporare. Folosite corect, rezolvă problema. Folosite la întâmplare, pot strica permisiuni, pot bloca aplicații sau pot crea breșe de securitate.
Surse folosite
GNU Coreutils — File permissions.
Linux manual page — chmod.
Linux manual page — chown.
Ubuntu Community Help — File Permissions.

















































