masca

De la Wikipedia, enciclopedia liberă.
Salt la navigare Salt la căutare

umask este o comandă de coajă de text al Unix si Unix- ului de operare sisteme , și mai general a POSIX [1] sisteme , ceea ce permite să sugereze programele au început ulterior care permisiunea de a nega la crearea de noi fișiere și directoare . Are efect numai pentru programele începute după umask și numai dacă este pornit de la același shell , diferind de chmod atât pentru că acesta din urmă modifică permisiunile după crearea fișierelor sau directoarelor , cât și pentru că permisiunile furnizate cu chmod sunt cele reale și nu.cele refuzate.

umask este , de asemenea , numele unui apel sistem definit de POSIX [2] Standardul care modifică un proces atribut același nume (exact al blocului de control al procesului ), care păstrează valoarea curentă a acestei sugestii, și care este moștenită de procesele copilului . De fapt, comanda shell umask , care este internă în shell și nu un program extern, acționează pur și simplu prin invocarea acestui apel de sistem pentru a modifica valoarea curentă a măștii procesului shell ; noua valoare este apoi moștenită de comenzile începute mai târziu de la același shell (dar nu, de exemplu, de la comenzile începute anterior sau pornite de la alte shell-uri ).

Comanda umask și apelul de sistem modifică doar comportamentul implicit al programelor, care păstrează abilitatea tehnică de a eluda sugestia, de exemplu prin schimbarea valorii setării curente sau prin modificarea explicită a permisiunilor fișierelor și / sau directorilor noi create. Numai permisiunile standard de citire, scriere și executare pot fi refuzate, și nu alte tipuri de permisiuni.

Comanda de mascare

Sintaxă

Sintaxa generală a comenzii umask este:

umask [-p] [-S] [ mask ]

unde poate fi masca :

Rularea comenzii fără a specifica un parametru de mască afișează valoarea curentă la ieșirea standard . Dacă doriți să lăsați permisiunile neschimbate, refuzându-le complet utilizatorilor grupului și tuturor celorlalți utilizatori, utilizați:

masca 077

Rețineți că permisiunile fiecărui fișier sau director creat depind atât de permisiunile solicitate de programul care le-a creat, cât și de setările date prin umask .

Opțiuni

Opțiunea -S afișează valoarea curentă a permisiunilor efective exprimate în notație simbolică (de exemplu, u = rwx, g = rx, o = rx în loc de 022 )

Opțiunea -p afișează valoarea curentă a refuzului permisiunii setată de umask (de exemplu, 022 )

Valorile utilizate în mod obișnuit pentru umask sunt:

  • 002 pentru a preveni scrierea către utilizatorii care nu dețin fișierul și nici măcar nu fac parte din grupul atribuit fișierului
  • 022 pentru a preveni scrierea către alți utilizatori decât proprietarul (valoare implicită)
  • 044 pentru a preveni citirea de către alți utilizatori decât proprietarul
  • 077 pentru a preveni citirea, scrierea și executarea de către alți utilizatori decât proprietarul

Tabel de permisiuni pentru mască

Octal Permisiuni refuzate Permise permise Piste
0 --- rwx 000
1 --X rw- 001
2 -w- rx 010
3 -wx r-- 011
4 r-- -wx 100
5 rx -w- 101
6 rw- --X 110
7 rwx --- 111

Exemple

Setați valoarea umask la 0147 și utilizând comanda tactilă creați un nou fișier gol (care ar avea în mod normal permisiuni 0666 sau -rw-rw-rw- ); noul fișier are permisiuni octale 0620 , ca 0666 și ~ 0147 = 0620 :

$ umask 147
$ touch try
$ ls -l test
-rw - w ---- 1 matteo matteo 0 27 mai 22:27 încercați

Urmând exemplul de mai sus puteți vedea diferența cu comanda chmod executată în continuare:

$ chmod 147 test
$ ls -l test
--- xr - rwx 1 matteo matteo 0 27 mai 22:27 test

Setați valoarea umask la 0147 și cu comanda mkdir creați un nou director (care ar avea în mod normal permisiunile 0777 sau drwxrwxrwx ); noul director are permisiuni octale 0630 , ca 0777 & ~ 0147 = 0630 :

$ umask 147
$ mkdir director_nou
$ ls -ld director_nou
drw - wx --- 2 matteo matteo 48 27 mai 22:34 director_nou

Apelul sistemului de mascare

Apelul de sistem umask este declarat în fișierul antet sys / stat.h :

 #include <sys / stat.h>
mode_t umask ( mode_t cmask );

Tipul mode_t este un tip opac (de obicei un tip întreg) reprezentând permisiuni de acces . Parametrul cmask indică permisiunile pe care doriți să le refuzați. În acest scop, sunt luate în considerare numai permisiunile de citire, scriere și executare referitoare la utilizator, grup și alte clase de permisiuni. Nu sunt luate în considerare permisiunile rămase, cum ar fi setarea ID utilizator , setarea ID grup și lipicios .

Valoare returnată

Valoarea returnată este valoarea de mască anterioară.

Notă

  1. ^ (EN) umask (utilități) , în The Open Group Base Specifications Issue 6 IEEE Std 1003.1, 2004 Edition. Adus 27.05.2008 .
  2. ^ (EN) umask (funcții) , în The Open Group Base Specifications Issue 6 IEEE Std 1003.1, 2004 Edition. Adus 27.05.2008 .

Elemente conexe

  • Permisiuni (Unix) - Descrierea permisiunilor pentru sistemele Unix și Unix-like.
  • chgrp - Modifică grupul atribuit fișierelor și directoarelor.
  • chmod - Modificați permisiunile fișierului și / sau directorului.
  • chown - Schimbă proprietarul și grupul atribuit fișierelor și directoarelor.

linkuri externe

Securitate IT Portal de securitate cibernetică : accesați intrările Wikipedia care se ocupă de securitatea cibernetică