Shells linux parse umask cu exemple

Shells linux parse umask cu exemple

În sistemul GNU / Linux, fiecare fișier sau folder are anumite drepturi de acces. Există trei tipuri de permisiuni (pe care le puteți face cu fișiere de orice tip, inclusiv directorul):







(r) citiți accesul - citiți

(w) acces la scriere - scriere

(e) executa acces - acces

Există și alte drepturi „speciale“, dar în acest articol ne vom uita la regulile de bază pentru a ilustra modul în care Umask și permisiunile care sunt definite pentru trei tipuri de utilizatori:

(U) a proprietarului fișierului

(G) din grupul care aparține proprietarului

(O) toți ceilalți utilizatori

Umask (masca utilizator) este o comandă și funcționează în mediul POSIX, care stabilește masca de creare modul de fișier al procesului actual, care limitează modurile de acces pentru fișiere și directoare create în acest proces. Procesul poate schimba modul de creare a unei măști cu Umask și noua valoare este moștenită de procesele copilului.

În practică, cu Umask, puteți seta permisiunile pentru fișierele noi create de proces.

masca de utilizator conține valoarea octal a permisiunile pe care doriți să le setați pentru toate fișierele noi, și numără valorile pe care doriți să le obțineți Ott 666 (pentru fișiere) sau 777 (pentru catalog).

Valoare reziduală pentru utilizarea cu comanda Umask.

De exemplu, să presupunem că doriți să modificați modul implicit pentru fișierele 664 (rw-rw-r-). Diferența dintre 666 și 664 este 002 și poate fi folosită ca argument pentru comanda Umask.

Sau pur și simplu utilizați această foaie de calcul la îndemână

umask octal Value

În acest articol vă voi arăta, în practică, cum să utilizați Umask pentru a modifica drepturile de acces la fișiere noi, deschideți terminalul și repetați după mine

1) Verificați-vă drepturile







Să creăm fișierul în / tmp

La ieșire veți obține acest lucru:

2) Schimbați implicit Umask

Deci, acum știm că taoe UMASK 0,022, care produce fișiere-r-r-rezoluție -RW, dar în multe cazuri, veți dori să dea colegilor săi scrie accesul la dosar și fișierele pe care le creați, astfel încât pentru a calcula noua umask, traducem permisiunea octal -RW-rw-r-, și anume 662 și scade acest număr de 666, rezultatul este un uMASK, pe care doriți să instalați într-o coajă:

Și de această dată veți obține următoarea concluzie:

3) Instalarea lui Umask pentru proces și a daemonilor

Uneori trebuie să lucrați cu procese și daemoane care creează fișiere și trebuie să gestionați permisiunile acestor fișiere. Un exemplu tipic este serverul HTTPD Apache, care creează fișiere cu adăugiri sau cu unele scripturi. Iar odată ce acestea sunt create, trebuie să modificați aceste fișiere cu numele dvs. de utilizator cu același grup Apache. Cum se face acest lucru?

În general, ar trebui să pună comanda UMASK într-un script care este utilizat pentru a porni daemon sau în fișierele incluse la început, iar pentru apache poate fi /etc/init.d/apache2 (debian) sau mai bine în cazul în care fișierul va include / etc / apache2 / envvars (debian).

Astfel, puteți instala Umask în / etc / apache2 / envvars (debian):

Iar acum, dacă comparați diferența în directorul rădăcină, ar trebui să vedeți ceva de genul:

4) Setați implicit Umask pentru întregul sistem

Deci, acum știți cum să schimbați Umask într-un terminal de lucru sau într-o sesiune. Dar cum să facă schimbările permanente?

Pentru a schimba umask-ul pentru utilizator, cea mai ușoară cale este de a crea comanda umask NEWUMASK în

/.bashrc de la acest utilizator (cu condiția să utilizeze Bash) sau în fișierul corespunzător care este încărcat la începutul acestei sesiuni din acest shell.

Pentru a schimba Umask pentru toți utilizatorii, trebuie să schimbați unele dintre setările de sistem și aceasta depinde de distribuția dvs. Linux:

Debian 6, Ubuntu și Mint

În Debian, acesta poate fi procesat folosind module PAM, pam_umask este modulul PAM pentru crearea fișierului de mască al procesului curent. Rezoluția implicită a Umask afectează atribuirea fișierelor nou create pentru a activa / modifica aceste permisiuni pentru editarea fișierelor:

Și în fiecare dintre aceste fișiere adăugați o linie:

Astfel, toate sesiunile vor folosi 0002 Umask, dând permisiunea grupului de a scrie fișiere și directoare.

Red Hat 6 și Centos 6

În aceste distribuții, Umask-ul comun scrie în fișierul / etc / bashrc. Dacă îl deschideți (ca root) și faceți o căutare pentru cuvântul "Umask", puteți găsi ceva similar:

Aceste linii stabilesc umask de 002 pentru toți utilizatorii al căror UID este mai mare de 199 și numele grupului este același cu numele de utilizator.

Deci, pentru a schimba Umask pentru toată lumea, puteți schimba pur și simplu toate aceste linii în această linie:

Sau orice altă valoare de care aveți nevoie.







Articole similare

Trimiteți-le prietenilor: