Înțelegerea permisiunilor Linux și a utilizării chmod


Am făcut un curs pe Linux în ultimele luni și un aspect al Linuxului care mereu ma confundat a fost cum au funcționat permisiunile. De exemplu, atunci când încărc un fișier pe serverul meu web o dată și am primit o eroare, mi sa spus de către gazda mea web să schimbe permisiunile de fișier la 755.

Nu aveam nici o idee despre ce însemna asta, permisiunile au rezolvat problema. Acum am realizat că permisiunile de la Linux nu sunt atât de complicate, încât trebuie doar să înțelegi sistemul. În acest articol, voi vorbi despre permisiunile Linux la un nivel înalt și vă vom arăta cum să folosiți comanda chmod pentru a modifica permisiunile pentru fișiere și foldere. Permisiuni Linux & amp; Niveluri

În Linux, există în principiu trei permisiuni pe care va trebui în mod normal să le faceți griji: citiți, scrieți și executați. Toate cele trei sunt destul de explicative. Acum, când aceste permisiuni sunt aplicate unui fișier, ele sunt aplicate în nivele.

Există trei niveluri de permisiuni în Linux: proprietar, grup și altele. Proprietarul este utilizatorul care deține fișierul / dosarul, grupul include alți utilizatori din grupul de fișiere, iar ceilalți reprezintă doar ceilalți utilizatori care nu sunt proprietari sau în grup.

Citiți, scrieți și executați sunt reprezentate fie ca caractere simbolice, fie ca numere octale. De exemplu, dacă faceți un ls -l într-un director cu unele fișiere, veți vedea reprezentarea simbolică a permisiunilor.

Permisiunile sunt scrise astfel: primul bit este fie o linie, fie litera d. Dashînseamnă că este un fișier și dreprezintă directorul. Rețineți că primul bit poate fi, de asemenea, ldacă numele fișierului este un link. Apoi, există trei grupuri de trei biți. Primul bit din fiecare grup este citit, cel de-al doilea bit este pentru scriere, iar cel de-al treilea bit este executat. Primii trei biți sunt pentru proprietar, alți trei biți sunt pentru grup și al treilea trei biți sunt pentru alții. Iată o explicație mai vizibilă.

Dacă vedeți o bordură în locul unei litere, înseamnă că proprietarul, grupul sau toți ceilalți utilizatori nu ai această permisiune. În exemplul de mai sus, proprietarul, grupul și toți ceilalți au citit scrierea și executarea permisiunilor. Dacă te uiți la ieșirea din comanda ls -l, vei observa că fișierul meu de text practic are următoarele permisiuni:

-rw-rw-rw-

Aceasta înseamnă că toți au permisiuni de citire / scriere pentru fișier. Iată un alt exemplu:

drwxr--r--

Privind la primul bit, putem vedea că permisiunile sunt pentru un director. Proprietarul are permisiuni de citire / scriere / executare, însă grupul și ceilalți utilizatori au permisiunea de citire.

Reprezentarea numărului de octeți

Astfel, permisiunile sunt afișate în Linux folosind simboluri. Al doilea mod de a reprezenta aceleași permisiuni este prin utilizarea numerelor octale. Atunci când vom folosi comanda chmod mai târziu, veți vedea că puteți schimba permisiunile folosind simboluri sau numere octale.

Deci, cum arată Linux, citiți, scrieți și executați folosind numere octale? Practic, el atribuie doar un număr fiecărei permisiuni, după cum se arată mai jos.

Permisiunea de citire este reprezentată de 4, scrieți cu 2 și executați cu 1. Tot ce trebuie să faceți este să le adăugați pentru a obține permisiunea octal. De exemplu, să luăm exemplul de mai sus în cazul în care toată lumea are toate permisiunile:

-rwxrwxrwx

Proprietarul are rwx, deci vom adăuga 4 + 2 + 1 pentru a obține o valoare de 7. Facem același lucru pentru grup și același lucru pentru ceilalți. Valoarea octală finală este 777. Să aruncăm o privire la exemplul în care am dat doar permisiuni de citire / scriere:

-rw-rw-rw-

Primul număr octal va fi de 4 + 2 de când suntem adăugând citire și scriere. Al doilea va fi același cu cel de-al treilea număr octal. Aici avem o valoare octală finală de 666.

Deci, acum să încercăm în sens invers. Spuneți că vrem să știm ce permisiuni 755reprezintă? Ei bine, este destul de ușor să dai seama dacă o descompuneți prin numere individuale. Primul număr este 7, pe care îl putem obține numai prin adăugarea a 4 + 2 + 1, adică proprietarul are permisiunea de a citi / scrie / executa. Cinci pot fi obtinute doar prin adaugarea a 4 + 1, adica grupul si alti utilizatori au citit si executa permisiuni.

explicație pentru modul în care să reprezinte permisiunile în Linux folosind numere octale. Este destul de simplu înainte.

Folosind chmod pentru a modifica permisiunile

Acum, când înțelegem cum să citim permisiunile, hai să vorbim despre modul în care putem să le schimbăm. Cea mai simplă utilitate utilizată în acest scop este comanda chmod. Iată cum funcționează. Cea mai bună modalitate de a explica comanda este să treceți printr-un exemplu.

Să începem cu permisiunile despre care am vorbit mai sus, și anume:

-rw-rw-rw-

a vrut să adauge permisiunea de executare pentru proprietar, grup și altele, am putea merge despre el în două moduri. Am putea folosi metoda simbolului sau metoda octal. Pentru metoda simbolului, vom face următoarele, după cum se arată mai jos:

/ s>

Sintaxa este următoarea: litera sau literele care reprezintă proprietarul (u), grupul (gstrong>) sau toate (a) urmate de +pentru a adăuga permisiuni sau -(rpentru citire, wpentru scriere și xpentru executarea).

să execute permisiunea pentru toți utilizatorii. Rezultatul, după cum puteți vedea în imaginea de mai sus, este xpentru proprietar, grup și altele. Acum, să spunem că am vrut să elimină permisiunile de scriere și de executare numai pentru grup și pentru ceilalți utilizatori.

la următoarea comandă pentru a realiza acest lucru:

chmod go-wx filename

Deoarece vreau să modific permisiunile pentru grup și altele, folosesc litera go. Vreau să elimină permisiunile, așa că folosesc semnul -. În cele din urmă, vreau să elimină permisiunile de scriere și de executare, deci folosesc wși x. Iată o mică masă la îndemână pentru utilizarea simbolului:

Deci, totul este de a folosi metoda simbolului. Acum, să vorbim despre metoda octalică, pe care o consider mai ușoară. Octal este frumos pentru că puteți adăuga sau elimina toate permisiunile dintr-o dată.

Dacă începem cu următoarele permisiuni pe un fișier, să vedem cum le putem schimba folosind metoda octal:

16

Deasupra, puteți vedea că am folosit următoarea comandă:

chmod 744 filename
>Acest lucru spune că proprietarul primește permisiunea de citire / scriere / executare, iar grupul și altul primește numai permisiunea de citire. După cum puteți vedea, este ușor să adăugați sau să eliminați permisiunile într-o singură comandă simplă. Să continuăm și să spunem că vreau să schimb din nou permisiunile.

Acum am folosit următoarea comandă, din nou una foarte simplă:

chmod 640 filename

Aici i-am dat permisiunea de citire / scriere a proprietarului, permisiunea de citire a grupului și celălalt grup fără permisiuni. Utilizați un zero pentru a nu denumi nici o permisiune. Destul de simplu, nu?

În concluzie, aceasta este o prezentare foarte simplă a permisiunilor pentru Linux și poate fi mult mai complicată decât asta, dar pentru începători este un loc bun pentru a începe. Voi publica mai multe articole despre permisiuni mai avansate în viitor. Dacă aveți întrebări, nu ezitați să comentați. Bucurați-vă!

Week 9

Postări asemănatoare:


16.02.2017