Publicitate
Deci ești a găsit o aromă de Linux care îți place, dar acum sunteți confuz pentru că nu ați avut cel mai slab indiciu despre comenzile terminale și permisiunile de fișiere Linux?
Sau poate aveți un site web găzduit pe un server Linux și vă confruntați cu unele probleme de permisiune de fișiere care pot fi rezolvate doar cu o magie a liniilor de comandă.
Indiferent, unul dintre cele mai esențiale comenzi Linux pentru a învăța Un A-Z al Linux - 40 de comenzi esențiale pe care ar trebui să le știiLinux este a treia roată ignorată de cele mai multe ori pentru Windows și Mac. Da, în ultimul deceniu, sistemul de operare open source a câștigat multă tracțiune, dar este încă departe de a fi luat în considerare ... Citeste mai mult este o comandă mică, dar puternică numită chmod. Dar înainte de a explica ce face comanda, trebuie mai întâi să înțelegem puțin despre modul în care Linux gestionează securitatea fișierelor.
Bazele autorizațiilor de fișiere Linux
Sistemele de operare Linux sunt de fapt sisteme similare Unix (
intelegerea Linux vs. Unix) și sistemele asemănătoare Unix abordează permisiunile de fișiere ca atare:Fiecare fișier are un proprietar, care determină „clasa de utilizator” a fișierului. Fiecare fișier are, de asemenea, un grup, care determină „clasa de grup” a fișierului. 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 Unix au permisiuni alocate celor trei clase și acestea determină ce acțiuni pot fi întreprinse de respectivele clase pentru fișierul dat.
Cele trei acțiuni disponibile pe un sistem similar Unix sunt: citit (posibilitatea de a deschide și vizualiza conținutul fișierului), scrie (capacitatea de a deschide și modifica conținutul unui fișier) și a executa (posibilitatea de a rula fișierul ca 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 se numește notație simbolică, care este un șir de 10 caractere: un caracter care reprezintă tipul de fișier, apoi nouă caractere care reprezintă citirea fișierului (r), scrierea (w) și executarea (x) a permisiunilor în ordinea proprietarului, grupului și alții. Dacă nu este permis, se utilizează simbolul liniuță (-).
De exemplu:
-rwxr-xr--
Aceasta înseamnă că este un fișier obișnuit cu permisiuni de citire, scriere și execuție pentru proprietar; citiți și executați permisiunile pentru grup; și permisiunile de citire numai pentru toți ceilalți.
Al doilea format se numește notație numerică, care este un șir de trei cifre care reprezintă fiecare permisiuni, grup și, respectiv, alte permisiuni. 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, sensul valorii fiecărei cifre ajunge să fie:
- 0: Fără permisiune
- 1: Execută
- 2: Scrieți
- 3: scrieți și executați
- 4: Citiți
- 5: Citiți și executați
- 6: Citește și scrie
- 7: Citiți, scrieți și executați
Deci exemplul de mai sus (-rwxr-xr--
) ar fi 754 în notație numerică.
Aceasta este permisiunile de fișiere Linux pe scurt.
Ce este Chmod?
Pe sisteme similare Unix, chmod este o comandă la nivel de sistem care înseamnă „modificarea modului” ș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 pentru sistemele asemănătoare cu Unix, care înseamnă „modificarea proprietarului” și vă permite să atribuiți proprietatea unui fișier unui alt utilizator sau chgrp, care înseamnă „schimbare grup” și atribuie un fișier unui alt grup. Acestea sunt importante de știut, dar nu la fel de frecvent utilizate ca chmod.
Ce înseamnă Chmod 644?
Setarea permisiunilor unui fișier pe 644 face ca astfel doar proprietarul să poată accesa și modifica fișierul, oricum ar fi doriți în timp ce toți ceilalți pot accesa doar fără a modifica și nimeni nu poate executa fișierul - nici măcar proprietar. Aceasta este setarea ideală pentru fișierele accesibile publicului, deoarece echilibrează flexibilitatea cu securitatea.
Ce înseamnă Chmod 755?
Setarea permisiunilor unui fișier la 755 este practic același lucru ca 644, cu excepția tuturor celor care au și permisiuni de execuție. Aceasta este utilizată în principal pentru directoarele accesibile publicului, deoarece este necesară permisiunea de execuție pentru a se transforma într-un director.
Ce înseamnă Chmod 555?
Setarea permisiunilor unui fișier la 555 face ca acesta să nu poată fi modificat deloc de nimeni, cu excepția superusorului sistemului (aflați mai multe despre superuserul Linux Ce este SU și de ce este importantă utilizarea eficientă a Linux?Linux SU sau contul de utilizator rădăcină este un instrument puternic care poate fi util atunci când este utilizat corect sau devastator dacă este folosit în mod neauzabil. Să ne uităm de ce ar trebui să fii responsabil atunci când folosești SU. Citeste mai mult ). Aceasta nu este la fel de frecvent utilizată ca 644, dar este încă important de știut, deoarece setarea numai în citire previne schimbări accidentale și / sau modificări.
Ce înseamnă Chmod 777?
Setarea permisiunilor unui fișier pe 777 face ca oricine să poată face orice dorește cu fișierul. Acesta este un risc imens de securitate, în special pe serverele web! Literal, oricine poate accesa fișierul, îl poate modifica oricum dorește și îl poate executa pe sistem. Vă puteți imagina daunele potențiale dacă un utilizator necinos 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 cu notare numerică, care este cel mai bun format de utilizat atunci când doriți să alocați permisiuni specifice pentru toate clasele:
chmod 644 exemplu.txt
Permisiunile pot fi date și în notație simbolică, care este utilă atunci când doriți doar să modificați permisiunile unei anumite clase. De exemplu:
chmod u = rwx exemplu.txt. chmod g = rw exemplu.txt. chmod o = rw exemplu.txt
Puteți modifica 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ă / să execute:
chmod u = rwx, g = rw, o = rw exemplu.txt
Când alocați aceleași permisiuni mai multor clase, le puteți combina:
chmod u = rwx, go = rw exemplu.txt
Dar frumusețea utilizării notării simbolice strălucește atunci când doriți doar să adăugați sau să eliminați permisiunea pentru o anumită acțiune pentru o anumită clasă.
De exemplu, aceasta ADD permisiunea de execuție pentru proprietarul fișierului:
chmod u + x exemplu.txt
Și asta Îndepărtează permisiunile de scriere și execuție pentru alți utilizatori:
chmod o-wx exemplu.txt
În sfârșit, dacă doriți să aplicați un set particular de permisiuni pentru toate fișierele și folderele dintr-un anumit director (de exemplu, un chmod recursiv), utilizați opțiunea -R și vizați un director:
chmod -R 755 exemplu_directory
În timp ce comanda chmod arată un pic nebun la prima vedere, este de fapt destul de simplă și complet logică. Dacă înțelegeți cele de mai sus, în mod practic stăpâniți chmod!
Aflați mai multe despre masterizarea Linux
Comenzile precum chmod, chown și chgrp sunt doar vârful aisbergului Linux. Dacă sunteți complet nou în sistemul de operare, vă recomandăm să verificați acestea trucuri îngrijite pentru newbies Linux precum și acestea Comenzi Linux nu ar trebui să rulați niciodată.
Dar cel mai important, ar fi să faci cel mai bun lucru verificând nostru Ghid complet pentru începători pentru Ubuntu și Linux Ubuntu: Ghid pentru începătoriCurios despre Ubuntu, dar nu sunteți sigur de unde să începeți? Tot ce ai putea avea nevoie pentru a începe cu cea mai recentă versiune a Ubuntu se găsește aici, scrisă într-o engleză simplă de înțeles. Citeste mai mult , care vă va învăța tot ceea ce trebuie să știți pentru a începe și suficient de familiar pentru a vă simți confortabil.
Joel Lee are un B.S. în informatică și peste șase ani de experiență profesională în scriere. Este redactor șef pentru MakeUseOf.