Sobes.tech
Junior

Ce este umask?

sobes.tech AI

Răspuns de la AI

Umask (prescurtare de la user file-creation mode mask) este o comandă în sistemele de operare de tip Unix/Linux care stabilește masca de permisiuni implicită pentru fișierele și directoarele noi create. Este un set de biți care sunt dezactivați din permisiunile complete (777 pentru directoare, 666 pentru fișiere) la crearea unui obiect.

Reprezentarea umask:

  • Umask este de obicei reprezentată sub forma unui cod octal de trei cifre, de exemplu, 022. Fiecare cifră corespunde permisiunilor pentru proprietar, grup și toți ceilalți utilizatori.
  • Biții măștii sunt inversați față de permisiunile dorite. De exemplu, pentru dezactivarea dreptului de scriere (2) pentru grup, bitul corespunzător va fi setat în umask.

Calculul permisiunilor rezultate:

Permisiunile de acces rezultate pentru un fișier/director nou sunt calculate ca:

Rezultat = Permisiuni_iniciale ȘI (NU umask)

Unde:

  • Permisiuni_iniciale pentru fișier = 666 (rw-rw-rw-)
  • Permisiuni_iniciale pentru director = 777 (rwxrwxrwx)
  • NU umask - complementul pe biți al valorii umask. La utilizarea unui cod octal, fiecare cifră a umask-ului se scade din 7.

Exemplu: umask = 022

  • Pentru fișier: 666 ȘI (NU 022) = 666 ȘI 755 = 644 (rw-r--r--)
  • Pentru director: 777 ȘI (NU 022) = 777 ȘI 755 = 755 (rwxr-xr-x)

Vizualizarea și setarea umask:

  • Vizualizarea umask-ului curent:

    # Afișează umask în format octal
    umask
    
    # Afișează umask în format simbolic
    umask -S
    
  • Setarea unui nou umask:

    # Setează umask în format octal
    umask 027
    
    # Setează umask în format simbolic
    umask u=rwx,g=rx,o=r
    

Umask este un instrument important pentru asigurarea securității de bază a sistemului de fișiere, stabilind permisiuni rezonabile implicit pentru obiecte noi.