Comandamentul Chmod și Permisiunile fișierelor Linux explicate

Comandamentul Chmod și Permisiunile fișierelor Linux explicate / Linux

Deci ați găsit o aromă de Linux care vă place, dar acum sunteți confuz pentru că nu aveți nici cea mai mică idee despre comenzile terminale și permisiunile de fișier Linux?

Sau poate aveți un site găzduit pe un server Linux și ați confruntat cu probleme de permisiune de fișier care pot fi rezolvate numai cu ajutorul unei linii de comandă magice.

Indiferent, una dintre cele mai importante comenzi Linux pentru a învăța un A-Z de Linux - 40 comenzi esențiale trebuie să știi un A-Z de Linux - 40 de comenzi esențiale trebuie să știi Linux este roata a treia ignorată de-a treia la Windows și Mac. Da, în decursul ultimului deceniu, sistemul de operare open source a câștigat multă tracțiune, dar este încă departe de a fi considerat ... Citește mai mult este o comandă mică dar puternică numită chmod. Dar, înainte de a ne explica ceea ce face comanda, trebuie să înțelegem mai întâi un pic despre modul în care Linux se ocupă de securitatea fișierelor.

Bazele permisiunilor de fișiere Linux

Sistemele de operare Linux sunt de fapt sisteme de tip Unix (înțelegând Linux vs. Unix), iar sistemele de tip Unix abordează permisiunile fișierelor, cum ar fi:

Fiecare fișier are un proprietar, care determină fișierele “clasa utilizator.” Fiecare fișier are, de asemenea, grup, care determină fișierele “clasa de grup.” Orice utilizator de sistem care nu este proprietarul și nu aparține aceluiași grup este hotărât să fie alții.

Toate fișierele de pe sistemele de tip Unix au permisiuni atribuite tuturor celor trei clase și acestea determină ce acțiuni pot fi luate de clasele menționate pentru fișierul dat.

Cele trei acțiuni disponibile pe un sistem similar cu Unix sunt: citit (capacitatea de a deschide și vizualiza conținutul fișierului), scrie (capacitatea de a deschide și de a modifica conținutul unui fișier) și a executa (capacitatea de a rula fișierul ca un program executabil).

Cu alte cuvinte, permisiunile unui fișier determină dacă:

  • Proprietarul poate citi, scrie și executa fișierul.
  • Grupul poate citi, scrie și executa fișierul.
  • Oricine altcineva poate citi, scrie și executa fișierul.

Permisiunile de fișiere Linux pot fi afișate în două formate.

Primul format este numit notație simbolică, care este un șir de 10 caractere: un caracter care reprezintă tipul fișierului, apoi nouă caractere care reprezintă fișierul citire (r), scriere (w) și executarea (x) permisiuni în ordinea proprietarului, grupului și altele. Dacă nu este permis, se utilizează simbolul liniuței (-).

De exemplu:

-rwxr-xr--

Aceasta înseamnă că este un fișier obișnuit cu citire, scriere și executare de permisiuni pentru proprietar; citiți și executați permisiuni pentru grup; și citi permisiuni doar pentru toți ceilalți.

Se solicită al doilea format notație numerică, care este un șir de trei cifre care reprezintă fiecare utilizator, grup și alte permisiuni, respectiv. Fiecare cifră poate varia de la 0 la 7, iar valoarea fiecărei cifre este obținută prin însumarea permisiunilor clasei:

  • 0 înseamnă că nu sunt permise permisiuni.
  • +1 dacă clasa poate executa fișierul.
  • +2 dacă clasa poate scrie în fișier.
  • +4 dacă clasa poate citi fișierul.

Cu alte cuvinte, semnificația fiecărei cifre se termină:

  • 0: Nicio permisiune
  • 1: Executați
  • 2: Scrieți
  • 3: Scrieți și executați
  • 4: Citiți
  • 5: Citiți și executați
  • 6: Citiți și scrieți
  • 7: Citiți, scrieți și executați

Astfel, exemplul de mai sus (-rwxr-xr--) ar fi 754 în notație numerică.

Acestea sunt permisiunile de fișiere Linux pe scurt.

Ce este Chmod?

Pe sistemele de tip Unix, chmod este o comandă la nivel de sistem “mod de schimbare” și vă permite să modificați manual setările de permisiune ale unui fișier.

Nu trebuie confundat cu chown, care este o altă comandă la nivel de sistem pe sistemele de tip Unix “schimba proprietarul” și vă permite să atribuiți proprietatea unui fișier unui alt utilizator sau chgrp, care înseamnă “schimbați grupul” și atribuie un fișier unui alt grup. Acestea sunt importante pentru a ști, dar nu la fel de frecvent utilizate ca chmod.

Ce înseamnă Chmod 644??

Setarea permisiunilor unui fișier la 644 face ca numai proprietarul să poată accesa și modifica fișierul pe care îl doresc în timp ce oricine altcineva poate accesa doar fără a modifica și nimeni nu poate executa fișierul - nici măcar proprietarul. Aceasta este setarea ideală pentru fișierele accesibile publicului deoarece acestea echilibrează flexibilitatea cu securitatea.

Ce înseamnă Chmod 755??

Setarea permisiunilor unui fișier la 755 este în esență același lucru ca și 644, cu excepția faptului că toată lumea are și permisiuni de execuție. Acest lucru este utilizat în principal pentru directoarele accesibile publicului, deoarece este necesară permisiunea de executare pentru a fi transformate într-un director.

Ce înseamnă Chmod 555 medie?

Setarea permisiunilor unui fișier la 555 face ca fișierul să nu poată fi modificat deloc de nimeni, cu excepția superuserului sistemului (aflați mai multe despre superuser-ul Linux) Ce este SU & De ce este important să utilizați Linux eficient? Important pentru folosirea eficientă a Linux-ului: contul de utilizator Linux SU sau root este un instrument puternic care poate fi util atunci când este utilizat corect sau devastator, dacă este folosit în mod imprudențial. Acest lucru nu este folosit la fel de frecvent ca 644, dar este important să știți că setarea numai pentru citire împiedică modificările accidentale și / sau manipularea frauduloasă.

Ce înseamnă Chmod 777??

Stabilirea permisiunilor unui fișier la 777 face ca oricine să poată face orice vrea cu fișierul. Acesta este un risc imens de securitate, în special pe serverele web! În mod literal, oricine poate să acceseze fișierul, să-l modifice oricum doresc și să îl execute pe sistem. Vă puteți imagina potențialele daune în cazul în care un utilizator necinstit a pus mâna pe el.

Cum se utilizează Chmod pe Linux

Comanda chmod are un format simplu:

chmod [permisiuni] [fișier]

Permisiunile pot fi date în notație numerică, care este cel mai bun format de utilizat când doriți să atribuiți permisiuni specifice pentru toate clasele:

chmod 644 example.txt

Permisiunile pot fi de asemenea date în notație simbolică, care este utilă atunci când doriți să modificați permisiunile unei anumite clase. De exemplu:

chmod u = rwx exemplu.txt chmod g = rw exemplu.txt chmod o = rw example.txt

Aveți posibilitatea să modificați permisiunile pentru mai multe clase, cum ar fi acest exemplu care stabilește proprietarul să citească / scrie / executa, dar grupul și alții să citească / execute:

chmod u = rwx, g = rw, o = rw exemplu.txt

La atribuirea acelorași permisiuni mai multor clase, le puteți combina:

chmod u = rwx, go = rw exemplu.txt

Dar frumusețea utilizării notației simbolice strălucește atunci când doriți să adăugați sau să eliminați permisiunea pentru o anumită acțiune pentru o anumită clasă.

De exemplu, acest lucru adaugă permisiunea de executare pentru proprietarul fișierului:

chmod u + x exemplu.txt

Și asta Îndepărtează permisiunile de scriere și executare pentru alți utilizatori:

chmod o-wx exemplu.txt

În cele din urmă, dacă doriți să aplicați un anumit set de permisiuni tuturor fișierelor și folderelor dintr-un anumit director (adică un chmod recursiv), utilizați opțiunea -R și vizați un director:

chmod -R 755 example_directory

În timp ce comanda chmod pare puțin nebună la prima vedere, este de fapt destul de simplă și complet logică. Dacă înțelegeți cele de mai sus, ați reușit, în esență, să stăpâniți chmod!

Aflați mai multe despre mastering Linux

Comenzi precum chmod, chown și chgrp sunt doar vârful iceberg-ului Linux. Dacă sunteți nou în sistem de operare, vă recomandăm să verificați aceste trucuri îngrijite pentru începători Linux, precum și aceste comenzi Linux pe care nu ar trebui să le executați.

Dar, cel mai important, ați face cel mai bine, verificând ghidul nostru complet pentru începători pentru Ubuntu și Linux Ubuntu: Ghidul unui începător Ubuntu: Un ghid pentru începători Curios despre Ubuntu, dar nu este sigur de unde să încep? Tot ce ai putea avea nevoie pentru a începe cu cea mai recentă versiune a Ubuntu este chiar aici, scris în engleză ușor de înțeles. Citiți mai multe, ceea ce vă va învăța tot ce trebuie să știți pentru a începe și suficient de familiarizat pentru a vă simți confortabil.

Explorați mai multe despre: Comenzi Linux.