4Jul

Cum funcționează permisiunile de fișiere Linux?

click fraud protection

Dacă ați folosit Linux de ceva timp( și chiar OS X), probabil că ați întâmpinat o eroare de "permisiuni".Dar ce anume sunt și de ce sunt necesare sau utile? Să aruncăm o privire interioară.

Permisiunile utilizatorilor

Începând cu ziua, computerele erau mașini masive care erau incredibil de costisitoare. Pentru a profita la maximum de acestea, s-au conectat mai multe terminale de calculatoare, ceea ce a permis mai multor utilizatori să își desfășoare afacerea simultan. Prelucrarea și stocarea datelor au fost efectuate pe mașină, în timp ce terminalele în sine erau puțin mai mult decât un mijloc de vizualizare și introducere a datelor. Dacă vă gândiți la asta, este destul de mult cum accesăm datele despre "nor";uita-te la sistemul MP3 Amazon, Gmail și Dropbox, și vei observa că în timp ce schimbările pot fi făcute la nivel local, totul este stocat de la distanță.

( Imagine: terminalul Zenith Z-19 "mut", credit: ajmexico)

Pentru ca aceasta să funcționeze, utilizatorii individuali trebuie să aibă conturi. Ei trebuie să aibă o secțiune a spațiului de stocare alocată acestora și trebuie să li se permită să execute comenzi și programe. Toată lumea primește anumite "permisiuni de utilizator", care dictează ceea ce pot și nu pot face, unde în sistem au și nu au acces și ale căror fișiere pot și nu le pot modifica. Fiecare utilizator este, de asemenea, plasat în diferite grupuri, care acordă sau restricționează accesul în continuare. Accesul la

instagram viewer

Fișier

În această lume multiplă cu utilizatori, am stabilit deja limite privind ce pot face utilizatorii. Dar despre ce accesează ei? Fiecare fișier are un set de permisiuni și un proprietar. Desemnarea proprietarului, legată în mod obișnuit atunci când fișierul este creat, declară la care utilizator îi aparține și numai acel utilizator poate să-și modifice permisiunile de acces.

În lumea Linux, permisiunile sunt împărțite în trei categorii: citiți, scrieți și executați. Accesul "Citește" permite vizualizarea conținutului unui fișier, accesul "scrie" permite modificarea conținutului unui fișier, iar execuția permite executarea unui set de instrucțiuni, cum ar fi un script sau un program. Fiecare dintre aceste categorii se aplică diferitelor clase: utilizator, grup și lume."Utilizator" înseamnă proprietar, "grup" înseamnă orice utilizator care se află în același grup ca și proprietarul, iar "lumea" înseamnă oricine și toată lumea. Folderele

pot fi, de asemenea, restricționate cu aceste permisiuni. De exemplu, puteți permite altor persoane din grupul dvs. să acceseze directoarele și fișierele din dosarul dvs. de acasă, dar nu pe nimeni în afara grupului dvs. Veți dori, probabil, să limitați accesul la "scriere" doar pentru dvs., cu excepția cazului în care lucrați la un anumit proiect comun. De asemenea, puteți crea un director partajat care permite oricui să vizualizeze și să modifice fișierele din acel director.

Modificarea permisiunilor în Ubuntu

GUI

Pentru a modifica permisiunile unui fișier pe care îl dețineți în Ubuntu, faceți clic dreapta pe fișier și mergeți la "Properties".

Puteți schimba dacă proprietarul, grupul sau alții pot citi și scrie,doar citiți sau nu faceți nimic. Puteți, de asemenea, să bifați o casetă pentru a permite executarea fișierului, ceea ce îl va permite simultan proprietarului, grupului și altora. Linia de comandă

Puteți face acest lucru și prin linia de comandă.Mergeți la un director care are fișiere în el și tastați următoarea comandă pentru a vizualiza toate fișierele dintr-o listă:

ls -al

Lângă fiecare fișier și director veți vedea o secțiune specială care prezintă permisiunile pe care le are. Se pare ca aceasta:

-rwxrw-r-

r înseamnă "citire", w înseamnă "write", iar x înseamnă "execute." Directoarele vor începe cu un "d "în loc de" - ".De asemenea, veți observa că există 10 spații care dețin valoare. Puteți ignora primul, iar apoi există 3 seturi de 3. Primul set este pentru proprietar, al doilea set este pentru grup, iar ultimul set este pentru lume.

Pentru a modifica permisiunile unui fișier sau director, să examinăm forma de bază a comenzii chmod.

chmod [clasa] [operator] [permisiune] fișier

chmod [ugoa] [+ sau -] [rwx] fișier

Acest lucru poate părea complicat la început, dar crede-mă, este destul de ușor.În primul rând, să examinăm clasele:

  • u: Acesta este pentru proprietar.
  • g: Acesta este pentru grup.
  • o: Aceasta este pentru toate celelalte.
  • a: Aceasta va schimba permisiunile pentru toate cele de mai sus.

În continuare, operatorii:

  • +: semnul plus va adăuga permisiunile care urmează.
  • -: Semnul minus va elimina permisiunile care urmează.

Încă cu mine? Ultima secțiune este aceeași ca și când am verificat permisiunile unui fișier:

  • r: Permite accesul la citire.
  • w: Permite accesul la scriere.
  • x: Permite executarea.

Acum, să o punem împreună.Să presupunem că avem un fișier numit "todo.txt" care are următoarele permisiuni:

-rw-rw-r-

Adică proprietarul și grupul pot citi și scrie, iar lumea poate citi numai. Vrem să schimbăm permisiunile la următoarele:

-rwxr--

Asta este, proprietarul are permisiuni complete, iar grupul poate citi. Putem face acest lucru în 3 pași. Mai întâi, vom adăuga permisiunea de execuție pentru utilizator.

chmod u + x todo.txt

Apoi, vom elimina permisiunea de scriere pentru grup.

chmod g-w todo.txt

În cele din urmă, vom elimina permisiunile de citire pentru toți ceilalți utilizatori. De asemenea, putem să le combinăm într-o singură comandă, cum ar fi:

chmod u + x, g-w, o-r todo.txt

Se poate vedea că fiecare secțiune este separată prin virgule și nu există spații.

Iată câteva permisiuni utile:

  • -rwxr-xr-x: Proprietarul are permisiuni complete, grupul și alți utilizatori pot citi conținutul fișierului și pot executa.
  • -rwxr-r-: Proprietarul are permisiuni complete, grupul și alți utilizatori pot citi numai fișierul( util dacă nu vă deranjează pe ceilalți să vizualizeze fișierele dvs.)
  • -rwx--: Proprietarul are permisiuni complete, toate celelalte nu au nimicpentru scripturile personale)
  • -rw-rw--: Proprietarul și grupul pot citi și scrie( util pentru colaborarea cu membrii grupului)
  • -rw-r-r-: Proprietarul poate citi și scrie,citiți fișierul( util pentru stocarea fișierelor personale într-o rețea partajată)
  • -rw ---: Proprietarul poate citi și scrie, toate celelalte nu au nimic( util pentru stocarea fișierelor personale)

Există câteva alte lucruri pe care le puteți face cuchmod - cum ar fi setuid și setgid - dar ele sunt un pic în profunzime și majoritatea utilizatorilor nu vor trebui să le utilizeze oricum

Fișierele rădăcină sau super-utilizator și sistem

În prezent, nu rulați întotdeauna sisteme careaveți mai mulți utilizatori De ce ar trebui să ne mai facem griji cu privire la permisiuni

Ei bine, Unix șiderivatele sale - Linux, OS X, printre altele - disting între lucrurile conduse de utilizator, lucrurile conduse de un administrator sau cu privilegii de administrare și lucrurile puse de sistemul în sine. Ca atare, lucrurile care sunt integrate pentru sistem au nevoie de privilegii admin pentru a fi schimbate sau accesate.În acest fel, nu faceți nimic în mod accidental.

În Ubuntu, pentru a face modificări în fișierele de sistem utilizați "sudo" sau "gksudo" pentru a obține echivalentul privilegiilor Administrator.În alte distribuții, treceți la "rădăcină" sau la "super-utilizator", care efectuează efectiv același lucru până când vă deconectați.

Fiți conștienți de faptul că, în ambele cazuri, modificarea permisiunilor de fișiere poate duce la nefuncționarea programelor, schimbarea neintenționată a proprietății fișierelor către utilizatorul rădăcină( în locul proprietarului) și deteriorarea sistemului prin acordarea mai multor permisiuni. Ca atare, este recomandat să nu schimbați permisiunile pentru fișiere - în special fișierele de sistem - cu excepția cazului în care este necesar sau știți ce faceți.

Sunt disponibile permisiuni de fișiere pentru a oferi un sistem de bază de securitate pentru utilizatori.Învățarea modului în care acestea funcționează vă poate ajuta să configurați partajarea de bază într-un mediu pentru mai mulți utilizatori, să protejați fișierele "publice" și să vă dați un indiciu cu privire la situația în care ceva nu merge în proprietatea fișierelor de sistem.

Credeți că puteți explica mai ușor lucrurile? Aveți o corecție? Vreți să amintiți despre vremurile vechi? Luați o pauză și puneți gândurile în comentariile.