deși există deja o mulțime de caracteristici de securitate bune încorporate în sistemele bazate pe Linux, o vulnerabilitate potențială foarte importantă poate exista atunci când se acordă acces local-adică probleme bazate pe permisiuni de fișiere care rezultă dintr – un utilizator care nu atribuie permisiunile corecte fișierelor și directoarelor. Deci, pe baza nevoii de permisiuni adecvate, voi trece peste modalitățile de a atribui permisiuni și vă voi arăta câteva exemple în care poate fi necesară modificarea.,fiecare fișier și director are trei grupuri de permisiuni bazate pe utilizatori:
- proprietar – permisiunile proprietarului se aplică numai proprietarului fișierului sau directorului, acestea nu vor afecta acțiunile altor utilizatori.
- grup-permisiunile de grup se aplică numai grupului care a fost atribuit fișierului sau directorului, acestea nu vor afecta acțiunile altor utilizatori.
- toți utilizatorii-permisiunile tuturor utilizatorilor se aplică tuturor celorlalți utilizatori din sistem, acesta este grupul de permisiuni pe care doriți să îl urmăriți cel mai mult.,
tipuri de permisiuni
fiecare fișier sau director are trei tipuri de permisiuni de bază:
- read – permisiunea de citire se referă la capacitatea unui utilizator de a citi conținutul fișierului.
- write-permisiunile de scriere se referă la capacitatea unui utilizator de a scrie sau modifica un fișier sau un director.
- execute-permisiunea Execute afectează capacitatea unui utilizator de a executa un fișier sau vizualiza conținutul unui director.,puteți vizualiza permisiunile verificând permisiunile fișierului sau directorului din Managerul de fișiere GUI preferat (pe care nu îl voi acoperi aici) sau examinând ieșirea comenzii „ls-l” în timp ce vă aflați în terminal și în timp ce lucrați în directorul care conține fișierul sau folderul.
permisiunea din linia de comandă este afișată ca: _rwxrwxrwx1 proprietar:grup
- drepturi / Permisiuni utilizator
- primul caracter pe care l-am marcat cu o subliniere este steagul de permisiune specială care poate varia.,
- următorul set de trei caractere (rwx) este pentru permisiunile proprietarului.
- al doilea set de trei caractere (rwx) este pentru permisiunile de grup.
- al treilea set de trei caractere (rwx) este pentru toți utilizatorii permisiuni.
- În urma acestei grupări, deoarece numărul întreg / număr afișează numărul de hardlink-uri către Fișier.
- ultima piesă este proprietarul și atribuirea de grup formatat ca proprietar: grup.
modificarea permisiunilor
când în linia de comandă, permisiunile sunt editate folosind comanda chmod., Puteți atribui permisiunile în mod explicit sau utilizând o referință binară așa cum este descris mai jos.
definirea explicită a permisiunilor
pentru a defini permisiunile explicite, va trebui să consultați grupul de permisiuni și tipurile de permisiuni.
Grupuri de permisiuni utilizate sunt:
u – Proprietarg – Grupo – Alteleun – Toți utilizatoriipotențialii Operatori de Atribuire sunt + (plus) și – (minus); acestea sunt folosite pentru a spune sistemului să fie să adăugați sau să eliminați permisiunile specifice.,
Tipuri de permisiuni care sunt folosite sunt:
- r – Citit
- w – Scrie
- x – Executa
Deci, de exemplu, să presupunem că avem un fișier numit file1 că, în prezent, a seta permisiuni pentru a _rw_rw_rw, ceea ce înseamnă că proprietarul, de grup și toți utilizatorii au citit și scriere. Acum vrem să eliminăm permisiunile de citire și scriere din grupul all users.,pentru a face această modificare, veți invoca comanda: chmod a-RW file1
pentru a adăuga permisiunile de mai sus, veți invoca comanda: chmod a+RW file1după cum puteți vedea, dacă doriți să acordați aceste permisiuni, veți schimba caracterul minus la un plus pentru a adăuga aceste permisiuni.
folosind referințe binare pentru a seta permisiunile
acum că înțelegeți grupurile și tipurile de permisiuni, acesta ar trebui să se simtă natural. Pentru a seta permisiunea folosind referințe binare, trebuie să înțelegeți mai întâi că intrarea se face prin introducerea a trei numere întregi/numere.,
un șir de permisiuni de probă ar fi chmod 640 file1, ceea ce înseamnă că proprietarul are permisiuni de citire și scriere, grupul are permisiuni de citire și toți ceilalți utilizatori nu au drepturi asupra fișierului.
primul număr reprezintă permisiunea proprietarului; al doilea reprezintă permisiunile de grup; iar ultimul număr reprezintă permisiunile pentru toți ceilalți utilizatori. Numerele sunt o reprezentare binară a șirului rwx.
- r = 4
- w = 2
- x = 1
adăugați numerele pentru a obține întregul / numărul reprezentând permisiunile pe care doriți să le setați., Va trebui să includeți permisiunile binare pentru fiecare dintre cele trei grupuri de permisiuni.
deci, pentru a seta un fișier la permisiunile de pe fișier1 pentru a citi _ rwxr_____, v-ar introduce chmod 740 fișier1. am făcut mai multe referiri la proprietari și grupuri de mai sus, dar nu v-am spus încă cum să atribuiți sau să schimbați proprietarul și grupul atribuit unui fișier sau director.,
utilizați comanda chown pentru a schimba atribuirile proprietarului și grupului, sintaxa este simplechown owner:group filename, deci pentru a schimba proprietarul fișierului 1 în user1 și grupul în familie, veți introduce chown user1: family file1.
Permisiuni Avansate
permisiuni speciale de pavilion poate fi marcat cu oricare dintre următoarele:
- _ – nu permisiuni speciale
- d – director
- l– fișier sau director este un link simbolic
- s – indica suid/setgid permisiuni., Aceasta nu este setată afișată în partea de permisiune specială a afișajului de permisiuni, ci este reprezentată ca s în porțiunea de citire a permisiunilor proprietarului sau grupului.
- t-aceasta indică permisiunile de biți lipicioase. Acest lucru nu este setată afișată în special permisiunea parte din permissions display, dar este reprezentat ca un t la executabil parte din toate permisiunile utilizatorilor
Suid/Setgid Permisiuni Speciale
suid/setguid permisiunile sunt folosite pentru a spune sistemului să ruleze un executabil ca proprietar cu proprietarul permisiunile.,
fii atent folosind setuid / setgid biți în permisiuni. Dacă atribuiți incorect permisiuni unui fișier deținut de root cu setul de biți setuid / setgid, atunci puteți deschide sistemul la intruziune.
puteți atribui bitul setuid / setgid doar prin definirea explicită a permisiunilor. Personajul pentru suid/setguid bit este s.
Deci, nu setați suid/setguid pic pe file2.sh te-ar emite comanda chmod g+s file2.sh., bitul lipicios poate fi foarte util în mediul partajat, deoarece atunci când a fost atribuit permisiunilor dintr-un director, îl setează astfel încât numai proprietarul fișierului să poată redenumi sau șterge fișierul menționat.
puteți atribui bitul lipicios doar definind în mod explicit permisiunile. Caracterul pentru bitul lipicios este t.
pentru a seta bitul lipicios pe un director numit dir1, veți emite comanda chmod + t dir1., când permisiunile sunt importante pentru unii utilizatori de computere Mac sau Windows, nu vă gândiți la permisiuni, dar acele medii nu se concentrează atât de agresiv pe drepturile bazate pe Utilizatori asupra fișierelor decât dacă vă aflați într-un mediu corporativ. Dar acum executați un sistem bazat pe Linux, iar securitatea bazată pe permisiuni este simplificată și poate fi utilizată cu ușurință pentru a restricționa accesul după bunul plac.așa că vă voi arăta câteva documente și foldere pe care doriți să vă concentrați și vă voi arăta cum ar trebui setate permisiunile optime.,
- home directories-directoarele de acasă ale utilizatorilor sunt importante deoarece nu doriți ca alți utilizatori să poată vizualiza și modifica fișierele din documentele altui utilizator de pe desktop. Pentru a remedia acest lucru, veți dori ca directorul să aibă permisiunile drwx______ (700), deci să spunem că dorim să impunem permisiunile corecte în directorul home al utilizatorului user1, care se poate face prin emiterea comenzii chmod 700 /home/user1.,
- bootloader configuration files– dacă decideți să implementați parola pentru a porni sisteme de operare specifice, atunci veți dori să eliminați permisiunile de citire și scriere din fișierul de configurare de la toți utilizatorii, dar root. Pentru a face puteți schimba permisiunile fișierului la 700.
- fișiere de configurare sistem și daemon– este foarte important să restricționați drepturile asupra fișierelor de configurare sistem și daemon pentru a restricționa utilizatorii de la editarea conținutului, este posibil să nu fie recomandabil să restricționați permisiunile de citire, dar restricționarea permisiunilor de scriere este o necesitate., În aceste cazuri, ar fi mai bine să modificați drepturile la 644.
- scripturi firewall-este posibil să nu fie întotdeauna necesar să blocați toți utilizatorii să citească fișierul firewall, dar este recomandabil să restricționați utilizatorii să scrie în fișier. În acest caz, scriptul firewall este rulat automat de utilizatorul rădăcină la pornire, astfel încât toți ceilalți utilizatori nu au nevoie de drepturi, astfel încât să puteți atribui permisiunile 700.
- drepturi / Permisiuni utilizator