Stații de lucru online OnWorks Linux și Windows

logo

Găzduire online gratuită pentru stații de lucru

<Înapoi | Cuprins | Următor>

3.4.4. Gestionarea drepturilor‌


Linux este un sistem multi-utilizator, astfel încât este necesar să se ofere un sistem de permisiuni pentru a controla setul de operațiuni autorizate pe fișiere și directoare, care include toate resursele și dispozitivele sistemului (pe un sistem Unix, orice dispozitiv este reprezentat de un fișier sau director). Acest principiu este comun tuturor sistemelor de tip Unix.

Fiecare fișier sau director are permisiuni specifice pentru trei categorii de utilizatori:


• Proprietarul său (simbolizat de u, ca la utilizator)


• Grupul său de proprietar (simbolizat de g, ca în grup), reprezentând toți membrii grupului


• Ceilalți (simbolizat de o, ca și în celelalte) Trei tipuri de drepturi pot fi combinate:

• citit (simbolizat de r, ca în citire);


• scrierea (sau modificarea, simbolizată prin w, ca în scris);


• executând (simbolizat de x, ca în eXecute).


În cazul unui fișier, aceste drepturi sunt ușor de înțeles: accesul de citire permite citirea conținutului (inclusiv copierea), accesul de scriere permite modificarea acestuia, iar accesul de execuție permite rularea acestuia (ceea ce va funcționa doar dacă este un program).


potriveste ora și setgid Două drepturi speciale sunt relevante pentru fișierele executabile: potriveste ora și setgid (simbolizat executabile cu litera „s”). Rețineți că vorbim frecvent de bit, deoarece fiecare dintre aceste valori booleene poate fi reprezentată printr-un 0 sau un 1. Aceste două drepturi permit oricărui utilizator să execute

programul cu drepturile proprietarului sau respectiv grupului. Acest mecanism oferă acces la funcțiile care necesită permisiuni de nivel mai înalt decât cele pe care le-ați avea de obicei.

Deoarece a potriveste ora Programul rădăcină este rulat sistematic sub identitatea super-utilizator, este foarte important să vă asigurați că este sigur și de încredere. Orice utilizator care reușește să submineze un program rădăcină setuid pentru a apela o comandă la alegerea lor ar putea apoi să se uzure la utilizatorul rădăcină și să aibă toate drepturile asupra sistemului. Testerii de penetrare caută în mod regulat aceste tipuri de fișiere atunci când obțin acces la un sistem ca o modalitate de a-și escalada privilegiile.

potriveste ora și setgid Două drepturi speciale sunt relevante pentru fișierele executabile: potriveste ora și setgid (simbolizat executabile cu litera „s”). Rețineți că vorbim frecvent de bit, deoarece fiecare dintre aceste valori booleene poate fi reprezentată printr-un 0 sau un 1. Aceste două drepturi permit oricărui utilizator să execute

programul cu drepturile proprietarului sau respectiv grupului. Acest mecanism oferă acces la funcțiile care necesită permisiuni de nivel mai înalt decât cele pe care le-ați avea de obicei.

Deoarece a potriveste ora Programul rădăcină este rulat sistematic sub identitatea super-utilizator, este foarte important să vă asigurați că este sigur și de încredere. Orice utilizator care reușește să submineze un program rădăcină setuid pentru a apela o comandă la alegerea lor ar putea apoi să se uzure la utilizatorul rădăcină și să aibă toate drepturile asupra sistemului. Testerii de penetrare caută în mod regulat aceste tipuri de fișiere atunci când obțin acces la un sistem ca o modalitate de a-și escalada privilegiile.


imagine

Un director este tratat diferit de un fișier. Accesul de citire dă dreptul de a consulta lista conținutului acestuia (fișiere și directoare); accesul de scriere permite crearea sau ștergerea fișierelor; și executarea accesului permite trecerea prin director pentru a accesa conținutul acestuia (de exemplu, cu cd comanda). A putea trece printr-un director fără a-l putea citi, dă utilizatorului permisiunea de a accesa intrările din acesta care sunt cunoscute după nume, dar nu de a le găsi fără a le cunoaște numele exact.



SECURITATE setgid bit se aplică și directoarelor. Orice element nou creat în astfel de directoare

SECURITATE setgid bit se aplică și directoarelor. Orice element nou creat în astfel de directoare


setgid director și lipicios

pic

i se atribuie automat grupului de proprietari al directorului părinte, în loc de moștenire.

grupul principal al creatorului ca de obicei. Din acest motiv, nu trebuie să vă schimbați grupul principal (cu nougrp comanda) atunci când lucrați într-un arbore de fișiere partajat între mai mulți utilizatori ai aceluiași grup dedicat.

un pic lipicios (simbolizată de litera „t”) este o permisiune care este utilă doar în directoare. Este folosit în special pentru directoarele temporare în care toată lumea are acces la scriere (cum ar fi / tmp /): restricționează ștergerea fișierelor, astfel încât doar proprietarul lor sau proprietarul directorului părinte să le poată șterge. În lipsa acestui lucru, toată lumea ar putea șterge fișierele altor utilizatori / tmp /.

setgid director și lipicios

pic


Trei comenzi controlează permisiunile asociate unui fișier:

imagine

chown fișier utilizator schimbă proprietarul fișierului


TIP Deseori doriți să schimbați grupul unui fișier în același timp cu dvs

TIP Deseori doriți să schimbați grupul unui fișier în același timp cu dvs


Schimbarea utilizatorului și

grup

schimba proprietarul. The chown comanda are o sintaxă specială pentru asta: chown

utilizator:fișier de grup

Schimbarea utilizatorului și

grup

chgrp fișier de grup modifică grupul de proprietari

chmod dosarul drepturilor modifică permisiunile pentru fișier

Există două moduri de a reprezenta drepturile. Dintre acestea, reprezentarea simbolică este probabil cea mai ușor de înțeles și reținut. Acesta implică simbolurile scrise menționate mai sus. Puteți defini drepturi pentru fiecare categorie de utilizatori (u/g/o), prin setarea lor explicit (cu =), prin adăugarea

(+), sau scăzând (-). Astfel u=rwx,g+rw,sau formula îi oferă proprietarului drepturi de citire, scriere și execuție, adaugă drepturi de citire și scriere pentru grupul de proprietari și elimină drepturile de citire pentru alți utilizatori. Drepturile care nu sunt modificate prin adăugarea sau scăderea într-o astfel de comandă rămân nemodificate. Scrisoarea a, pentru toți, acoperă toate cele trei categorii de utilizatori, astfel încât a=rx acordă tuturor celor trei categorii aceleași drepturi (citire și executare, dar nu scriere).

Reprezentarea numerică (octală) asociază fiecare drept cu o valoare: 4 pentru citire, 2 pentru scriere și 1 pentru execuție. Asociem fiecare combinație de drepturi cu suma celor trei cifre, iar fiecărei categorii de utilizatori i se atribuie o valoare, în ordinea obișnuită (proprietar, grup, alții).

De exemplu, chmod 754 fişier comanda va seta următoarele drepturi: citire, scriere și executare pentru proprietar (deoarece 7 = 4 + 2 + 1); citiți și executați pentru grup (deoarece 5 = 4 + 1); numai în citire pentru alții. The 0 înseamnă fără drepturi; prin urmare chmod 600 fişier permite permisiuni de citire și scriere pentru proprietar și niciun drept pentru nimeni altcineva. Cele mai frecvente combinații corecte sunt 755 pentru fișiere și directoare executabile și 644 pentru fișierele de date.

Pentru a reprezenta drepturi speciale, puteți prefixa o a patra cifră acestui număr în conformitate cu același principiu, unde potriveste ora, setgid, și lipicios biții sunt 4, 2 și, respectiv, 1. Comanda chmod 4754 va asocia potriveste ora bit cu drepturile descrise anterior.

Rețineți că utilizarea notației octale vă permite doar să setați toate drepturile simultan asupra unui fișier; nu îl puteți folosi pentru a adăuga un nou drept, cum ar fi accesul de citire pentru proprietarul grupului, deoarece trebuie să luați în considerare drepturile existente și să calculați noua valoare numerică corespunzătoare.

Reprezentarea octală este folosită și cu masca comanda, care este folosită pentru a restricționa permisiunile pentru fișierele nou create. Când o aplicație creează un fișier, aceasta atribuie permisiuni orientative, știind că sistemul elimină automat drepturile definite cu masca. introduce masca într-o coajă; vei vedea o mască precum 0022. Aceasta este pur și simplu o reprezentare octală a drepturilor care trebuie eliminate sistematic (în acest caz, drepturile de scriere pentru grup și alți utilizatori).

imagine

Dacă îi dați o nouă valoare octală, masca comanda modifică masca. Folosit într-un fișier de inițializare shell (de exemplu, ~ / .bash_profile), va schimba efectiv masca implicită pentru sesiunile dvs. de lucru.


TIP Uneori trebuie să schimbăm drepturile pentru un întreg arbore de fișiere. Toate comenzile de mai sus

TIP Uneori trebuie să schimbăm drepturile pentru un întreg arbore de fișiere. Toate comenzile de mai sus


Operatie recursiva

ia o -R opțiunea de a opera recursiv în subdirectoare.

Distincția dintre directoare și fișiere cauzează uneori probleme cu operațiunile recursive. De aceea, litera „X” a fost introdusă în reprezentarea simbolică a drepturilor. Reprezintă un drept de executare care se aplică numai directoarelor (și nu fișierelor cărora le lipsește acest drept). Prin urmare, chmod -R a+X director va adăuga doar drepturi de execuție pentru toate categoriile de utilizatori (a) pentru toate subdirectoarele și fișierele pentru care cel puțin o categorie de utilizatori (chiar dacă unicul lor proprietar) are deja drepturi de executare.

Operatie recursiva

Top OS Cloud Computing la OnWorks: