Bazele privilegiilor linux și utilizarea umask pe VPS

Plasarea serverelor în centre de date fiabile din Europa. Deschideți serverul VPS / VDS bazat pe cloud pe SSD-uri rapide în 1 minut!

Cel mai bun Gazduire:
- protejează datele de accesul nedorit într-un centru de date european protejat
- va accepta plata cel puțin în taxe.
- vă va permite să vă distribuiți distribuția

- protecția împotriva atacurilor DDos
- copie de rezervă gratuită
- Uptime 99.9999%
- Centrul de date - TIER III
- furnizor - TIER I

Sprijinim în limba rusă 24/7/365 Lucrăm cu persoane juridice și persoane fizice. Acum aveți nevoie de 24 nuclee și 72 GB de memorie RAM. Vă rog!

Tarifele noastre avantajoase vor dovedi că nu ați știut încă ieftinul de găzduire!

Minute: selectați configurația, plătiți și CMS de pe VPS este gata.
Banii înapoi - 30 de zile!

Carduri bancare, e-valută, prin intermediul terminalelor Qiwi, Webmoney, PayPal, Novoplat etc.

Puneți o întrebare la sprijinul 24/7/365

Găsiți răspunsuri în baza noastră de date și cunoașteți recomandările

intrare

Privilegiile din Linux permit proprietarului unui fișier sau unui director să restricționeze accesul pe baza relației utilizatorului cu fișierul. În esență, privilegiile creează un sistem unic de gestionare care oferă diferite nivele de acces pentru diferiți utilizatori.

Comanda umask specifică privilegiile atribuite în mod prestabilit fișierelor create de fiecare utilizator. Acesta poate fi modificat pentru a oferi restricții stricte de acces sau, dimpotrivă, pentru a atenua privilegiile pentru scenariile de partajare a fișierelor, în funcție de nevoile sistemului și de utilizator.

Acest ghid explică elementele de bază ale privilegiilor Linux și demonstrează, de asemenea, beneficiile configurării corecte a umask-ului. De asemenea, ea ia în considerare pe scurt comanda chmod ca un instrument de însoțire.

Privilegiile proprietarului

Primul lucru pe care trebuie să-l amintiți pentru a înțelege drepturile Linux - acest sistem de operare este, în principiu, multi-utilizator.

pisică / etc / passwd
root: x: 0: 0: rădăcină: / root: / bin / bash
daemon: x: 1: 1: daemon: / usr / sbin: / bin / sh
bin: x: 2: 2: bin: / bin: / bin / sh
sys: x: 3: 3: sys: / dev: / bin / sh
sincronizare: x: 4: 65534: sincronizare: / bin: / bin / sync
jocuri: x: 5: 60: jocuri: / usr / jocuri: / bin / sh
om: x: 6: 12: om: / var / cache / om: / bin / sh
lp: x: 7: 7: ip: / var / spool / lpd: / bin / sh
mail: x: 8: 8: poștă electronică: / var / mail: / bin / sh
știri: x: 9: 9: știri: / var / spool / news: / bin / sh
uucp: x: 10: 10: uucp: / var / spool / uucp: / bin / sh
.

Fișierul / etc / passwd conține linii pentru fiecare utilizator creat în acest sistem de operare. Primul câmp al fiecărei linii este numele utilizatorului unic. După cum puteți vedea, numeroase nume de utilizatori sunt asociate cu diverse servicii și aplicații.

Operarea serviciilor ca utilizatori separați vă permite să controlați accesul la servicii, atribuiți-le diferite drepturi de utilizator. Multe programe sunt configurate pentru a crea un utilizator și pentru a efectua toate acțiunile cu ajutorul lui.

Privilegiile grupului

Aceasta va afișa toate grupurile în care este în prezent utilizatorul. În mod implicit, utilizatorul poate fi în unul sau două grupuri, iar numele uneia dintre ele poate coincide cu numele acestui utilizator.

Primul câmp al fiecărei linii este numele grupului.

Linux vă permite să atribuiți privilegii unui proprietar de fișiere unui grup. Din acest motiv, puteți atribui drepturi utilizatorilor unui grup de persoane, deoarece un singur utilizator poate deține fișierul.

Alte privilegii

În acest context, "altul" înseamnă orice utilizator care nu deține fișierul și nu se află în grupul care deține fișierul.

Tipuri de privilegii

Pentru directori, sunt necesare drepturi de citire pentru a vizualiza lista de conținut (ls), dreptul de a schimba - pentru a modifica conținutul directorului, drepturile de lansare - pentru a schimba directoarele (cd) în interiorul directorului.

Linux prezintă aceste tipuri de privilegii, folosind două denumiri simbolice separate: alfabetic și octal.

Scrisori

Scrisorile sunt ușor de înțeles, sunt folosite de mai multe programe comune pentru a reprezenta privilegii.

Fiecare drept este reprezentat de o singură literă:

  • r - dreptul de a citi;
  • w - dreptul la schimbare;
  • x este dreptul de a rula.

Este important să rețineți că scrisorile de drepturi sunt întotdeauna indicate în această ordine. Dreptul acordat este indicat prin litera corespunzătoare. Dacă anumite restricții sunt restricționate, acest lucru este indicat printr-o liniuță (-).

În primul rând, drepturile sunt acordate proprietarului dosarului, apoi grupului și numai apoi altor utilizatori. Astfel, există trei grupuri de trei valori.

Comanda ls folosește literele la pornire cu opțiunea "-l" (format lung):

Primul câmp al rezultatului afișat reprezintă privilegiile fișierului.

Aceste date sunt indicate cu 10 simboluri. Prima nu este o valoare privilegiată, indică tipul de fișier (liniuță pentru un fișier obișnuit, d pentru un director etc.). Următoarele 9 caractere reprezintă drepturile descrise mai sus. Trei grupuri care reprezintă proprietarul, grupul și alți utilizatori, fiecare cu valori care determină drepturile de citire, modificare și pornire.

În exemplul de mai sus, proprietarul directorului acpi a citit, modificat și executa permisiuni. Grupul și alți utilizatori au citit și executați permisiuni.

Denumiri octale

O modalitate mai concisă, dar mai puțin înțelegătoare de a prezenta privilegii este o notație octuală.

Pentru a desemna fiecare tip de drepturi, se folosește un anumit număr, deci se dă o valoare numerică:

  • 4 = dreptul de a citi;
  • 2 = dreptul de a schimba;
  • 1 = dreptul de a începe.

De exemplu, dacă proprietarul fișierului a citit și modifica permisiunile, atunci acestea vor fi reprezentate de o valoare de 6 în coloana proprietarului fișierului. Dacă grupul are doar dreptul de a citi, acest drept va fi reprezentat de simbolul 4.

Ca alfabetic, notația octală poate conține un prim caracter suplimentar care indică tipul fișierului. Aceasta este urmată de semnificația drepturilor proprietarului, a grupului și apoi a celorlalți utilizatori.

Comanda chmod este un program foarte important când se utilizează notații octale.

Folosind comanda Chmod

Cea mai populară modalitate de a modifica permisiunile pentru un fișier este de a folosi valoarea octală cu comanda chmod. Pentru a demonstra funcționarea comenzii, creați un fișier gol în directorul de domiciliu:

CD
atingeti testfile

Se va verifica
-rw-rw-r-- 1 demoser demouser 0 Jul 10 17:23 testfile

Dacă interpretați valorile, puteți vedea că proprietarul fișierului și grupul au citite și modifică drepturile, iar alți utilizatori au drepturi de citire numai.

Dacă convertiți acest lucru în octal, proprietarul și grupul vor avea valoarea drepturilor 6 (4 pentru citire, plus 2 pentru schimbare), iar ceilalți utilizatori au atribuit o valoare de 4 (pentru citire). În forma finală, drepturile sunt reprezentate de un triplet 664.

Să presupunem că acest fișier conține un script de bash pe care doriți să-l executați ca proprietar. Acum este necesar ca nimeni, inclusiv membrii grupului, să nu aibă dreptul să schimbe dosarul și chiar să îl citească.

Privilegiile necesare în acest caz pot fi reprezentate sub forma unei denumiri de scrisoare în acest fel: -rwxr--. Acum traduceți aceste valori în sistemul octal și modificați permisiunile cu chmod:

chmod 740 testfile
Se va verifica
-rwxr ----- 1 demouser demouser 0 Jul 10 17:23 testfile

După cum puteți vedea, drepturile au fost atribuite în mod corespunzător.

Dacă aveți nevoie să reveniți la vechile privilegii, puteți seta chmod la următoarele:

chmod 664 testfile
Se va verifica
-rw-rw-r-- 1 demoser demouser 0 Jul 10 17:23 testfile

Setarea privilegiilor implicite cu Umask

Comanda umask definește drepturile implicite pentru fișierele noi pe baza permisiunilor "de bază" setate pentru directoare și fișiere.

Drepturile de bază ale fișierelor sunt setate la 666, ceea ce înseamnă dreptul de a citi și de a modifica pentru toți utilizatorii. Dreptul de a lansa nu este furnizat în mod implicit, deoarece majoritatea fișierelor nu sunt create pentru a rula (în plus, atribuirea dreptului de a rula poate provoca probleme de securitate a serverului).

Drepturile de director implicite sunt reprezentate de valoarea 777, ceea ce înseamnă că citiți, modificați și executați permisiuni pentru utilizatori.

Umask acționează prin aplicarea unei "măști" scăzute cu drepturile de bază, după cum se arată mai sus. Să luăm în considerare munca sa pe un exemplu.

Să presupunem că este necesar ca proprietarul și membrii grupului de proprietari să aibă dreptul de a schimba directoare noi și alți utilizatori - nu; atunci valoarea drepturilor va fi de 775.
Acum avem nevoie de un triplet care să arate diferența dintre drepturile fundamentale și cele necesare. Acesta este numărul 002.

Numărul rezultat este valoarea umask pe care doriți să o aplicați. În mod coincident, aceasta este valoarea de comandă prestabilită pentru multe sisteme, așa cum ați fi observat atunci când ați creat fișierul utilizând comanda tactil mai devreme. Încercați din nou:

atingeți test2
Este testul 2
-rw-rw-r-- 1 demoser demouser 0 Jul 10 18:30 test2

Folosind comanda umask, puteți defini un alt umask.

Pentru a vă asigura sistemul, vă puteți asigura că utilizatorii care nu dețin fișierul nu au deloc drepturi. Acest lucru se poate face folosind valoarea umask 077:

umask 077
atingere restricționată
Este restricționat
-rw ------- 1 demouser demouser 0 Jul 10 18:33 restricționat

Dacă există un proces care creează conținut public, puteți seta permisiuni complete pentru fiecare fișier și director creat de acesta:

umask 000
atingeți fișierul deschis
Este deschis fișierul
-rw-rw-rw-1 demoser demouser 0 Jul 10 18:36 openfile

În mod prestabilit, setările umask se vor aplica numai sesiunii de shell curente. Data viitoare când vă conectați la sistem, orice fișiere și directoare noi vor primi setările originale instalate de distribuția sistemului.

Pentru ca setările umask să rămână în vigoare chiar și după repornire, ele trebuie adăugate la fișierul .bashrc:

Găsiți umask-ul deja setat și schimbați-l. Dacă această valoare nu există încă, introduceți o linie cu valoarea dorită la sfârșitul fișierului:

Măsuri de precauție

Atunci când modificați drepturile, este important să rețineți că anumite zone ale sistemului de fișiere și unele procese necesită drepturi speciale pentru o funcționare corectă. Drepturile care nu îndeplinesc aceste cerințe pot duce la erori și la încetarea aplicațiilor.

Pe de altă parte, prin acordarea prea multor drepturi, sistemul este în pericol.

Prin urmare, este recomandat să nu editați privilegiile în afara directorului de acasă în cazul în care nu știți despre consecințele care pot apărea din cauza configurațiilor incorecte.

O altă regulă care este deosebit de importantă de urmat când se configurează manual programele: setați întotdeauna cea mai stringentă politică privind drepturile de acces care nu afectează funcționalitatea serverului.

Aceasta înseamnă că, dacă un singur utilizator (de exemplu un serviciu) are nevoie de acces la un grup de fișiere, atunci nu este necesar să permiteți accesul altor utilizatori la conținutul acestor fișiere. Acest lucru este valabil mai ales pentru fișierele care stochează parole sub formă de text simplu.

Articole similare