Despre Linux

  • Facebook
  • Twitter
  • LinkedIn
  • Acasă
  • Linux
    • Comenzi Linux
    • Tutoriale
  • Kubernetes
  • RHCSA
    • Exerciții RHCSA
    • SELinux
    • Permisiuni
  • General
    • Open source
  • Contact

Setarea implicită a permisiunilor în Linux: despre umask

9 septembrie 2016 By Bobses 2 comentarii

Acest articol este continuarea celor anterioare despre permisiuni în Linux.

Când un utilizator creează un fișier, acel fișier are proprietățile și permisiunile implicite. Proprietarul implicit este, după cum e și ușor de înțeles, cel care a creat fișierul respectiv. Grupul implicit este grupul primar al utilizatorului respectiv.

Permisiunile prestabilite sunt configurabile. Acestea sunt definite de umask - masca utilizatorului (în engleză user mask), care se poate seta folosind comanda umask. Această comandă are la intrare o valoare octală care reprezintă biții care vor fi înlăturați din valoarea 777 pentru directoare, sau din permisiunile 666 pentru fișiere, în momentul în care un fișier nou este creat (vă aminitiți că, în Linux, directoarele sunt tot un soi de fișiere, da?).

Tabelul de mai jos exemplifică efectul unor posibile valori pentru umask:

umaskFișier creat cu
permisiunile
Director creat cu permisiunile
000666 (rw-rw-rw-)777 (rwxrwxrwx)
002664 (rw-rw-r--)775 (rwxrwxr-x)
022644 (rw-r--r--)755 (rwxr-xr-x)
027640 (rw-r-----)750 (rwxr-x---)
077600 (rw-------)700 (rwx------)
277400 (r--------)500 (r-x------)

Cum să înțelegem mai ușor umask

Pentru simplitate, trebuie reținut că umask este o simplă scădere din valoarea 777 sau 666; umask reprezintă înlăturarea unor biți. Orice bit setat în umask este înlăturat din permisiunile finale ale următoarelor fișiere și directoare pe care le va crea utilizatorul respectiv.

O altă cale de a înțelege umask este reprezentarea simbolică. Să ingnorăm, pentru moment, umask; un fișier este creat folosind default 666 (cod octal) care corespunde lui rw-rw-rw- (reprezentare simbolică). În tabelul de mai susvaloarea octală 022 a umask corespunde reprezentării simbolice ----w--w-. Folosind setarea umask din exemplu, permisiunea de scriere este scăzută din permisiunile pentru grup și pentru alții (other). Astfel, când valoarea 022 a umask este aplicată, permisiunile fișierului nou creat vor fi 644 (octal) sau rw-r--r-- (reprezentare simbolică). Permisiunile pentru scriere au fost scăzute din permisiunile grup și alții de către setarea umask.

Reprezentarea octală și simbolică a celor scrise în paragraful de mai sus:

  • octal: 666 - 022 = 644 (644 va fi permisiunea implictă cu care se vor crea noile fișiere) sau 777 - 022 = 755 (755 va fi permisiunea implicită cu care se vor crea noile directoare)
  • simbolic: rwxrw-rw- minus ----w--w- rezultă rwxr--r-- (sau 644 - pentru fișiere); rwxrwxrwx minus ----w-w- rezultă rwxr-xr-x (sau 755 - pentru directoare)
r w x r w - r w -
- - -  -  w - - w -
___________
r w x r - - r - -
r w x r w x r w x
- - - - w - - w -
_____________
r w x r - x r - x

În mod analog se calculează pentru fiecare valoare umask dorită.

Utilizatorii obișnuiți pot rula comanda umask pentru a schimba permisiunile noilor fișiere și directoare create. Superutilizatorul (root) poate, de asemenea, să modifice setările default pentru toți utilizatorii din sistem, prin editarea unui fișier de configurare. În mod normal, fișierul /etc/profile conține comanda umask.

Cele mai multe distribuții Linux folosesc pentru umask valoarea 002 sau 022.

Exemple practice ale umask

Pentru a afla ce valoare umask folosește distribuția noastră, vom da comanda simplă umask, fără niciun parametru. Valoarea umask este afișată cu 4 digiți (primul reprezintă valoarea octală pentru SUID, SGID sau bitul sticky):

$ umask
0022
$

Pentru a schimba valoarea umask, vom folosi tot codul octal din 4 digiți. Amintiți-vă să reverificați dacă, într-adevăr, aceștia sunt biții pe care vreți să-i îndepărtați din permisiunile implicte ale fișierelor și directoarelor. Se introduce comanda umask urmată de codul dorit pe aceeași linie:

$ umask 0002
$ umask
0002
$

Dând comanda umask cu parametrul -S, va fi afișată valoarea simbolică a permisiunilor cu care se vor crea noile directoare:

$ umask -S
u=rwx,g=rwx,o=rx
$

Iată și imaginea în care se observă cele exemplificate mai sus:

umask

Voi ce valoare umask aveți în sistem?

Partajează asta:

  • Dă clic pentru a partaja pe Facebook(Se deschide într-o fereastră nouă)
  • Dă clic pentru a partaja pe LinkedIn(Se deschide într-o fereastră nouă)
  • Click to share on Twitter(Se deschide într-o fereastră nouă)

Similare

Din categoria: Permisiuni Etichete: directoare, fisiere, linux, permisiuni, RHCSA, umask

Comentarii

  1. Ice Alinutza a zis

    9 septembrie 2016 la ora 23:10

    Aici m-ai cam pierdut un pic... mai mult! Din ce citisem "umask" se referă în general la "procese" și ce crează acestea și nu la ce este deja existent, așa zise "directoare" și fișiere... In plus nu am reușit să înțeleg acest "exemplu" și citez: "În tabelul de mai susvaloarea octală 022 a umask corespunde reprezentării simbolice —-w–w-.". M-am uitat în tabel și nu am găsit valorile respective... Cred că o continuare se impune... dar e o părere.

    Răspunde
    • Bobses a zis

      10 septembrie 2016 la ora 6:51

      Pai care e reprezentarea lui 022? Nu este ----w--w-? Dacă scădem valoarea octală 022 din 666 sau din 777 nu ies valorile din tabel? La fel, dacă facem eliminarea biților de scriere (w) din reprezentarea simbolică a lui 666 și 777 nu rezultă valorile din tabel?
      Dacă te uiți în tabel în dreptul lui 022, vezi permisiunile implicite ale fișierelor si directoarelor nou create.
      Te rog să-mi spui dacă am fost mai clar acum (am extins explicațiile și la paragraful care te-a pus în încurcătură).

      Răspunde

Lasă un răspunsAnulează răspunsul

Acest site folosește Akismet pentru a reduce spamul. Află cum sunt procesate datele comentariilor tale.

Copyright © 2025 · Bobses

Administrează consimțămintele pentru cookie-uri
Pentru a oferi cea mai bună experiență, folosim tehnologii, cum ar fi cookie-uri, pentru a stoca și/sau accesa informațiile despre dispozitive. Consimțământul pentru aceste tehnologii ne permite să procesăm date, cum ar fi comportamentul de navigare sau ID-uri unice pe acest site. Dacă nu îți dai consimțământul sau îți retragi consimțământul dat poate avea afecte negative asupra unor anumite funcționalități și funcții.
Funcționale Mereu activ
Stocarea tehnică sau accesul sunt strict necesare în scopul legitim de a permite utilizarea unui anumit serviciu cerut în mod explicit de către un abonat sau un utilizator sau în scopul exclusiv de a executa transmiterea unei comunicări printr-o rețea de comunicații electronice.
Preferințe
Stocarea tehnică sau accesul este necesară în scop legitim pentru stocarea preferințelor care nu sunt cerute de abonat sau utilizator.
Statistici
Stocarea tehnică sau accesul care sunt utilizate exclusiv în scopuri statistice. The technical storage or access that is used exclusively for anonymous statistical purposes. Without a subpoena, voluntary compliance on the part of your Internet Service Provider, or additional records from a third party, information stored or retrieved for this purpose alone cannot usually be used to identify you.
Marketing
Stocarea tehnică sau accesul sunt necesare pentru a crea profiluri de utilizator pentru a trimite publicitate sau pentru a urmări utilizatorul pe un site web sau pe mai multe site-uri web în scopuri de marketing similare.
Administrează opțiunile Administrează serviciile Administrează vânzătorii {vendor_count} Citește mai multe despre aceste scopuri
Vizualizează preferințele
{title} {title} {title}