Dacă ați folosit Linux pentru o perioadă de timp, veți ști cât de importante sunt permisiunile pentru fișiere Linux. Dar ce rămâne cu permisiunile pentru când creați fișiere noi? Un utilitar numit umask vă permite să setați permisiunile implicite pentru fișiere noi pe Linux.
Ce este umask?
Un umask este o „mască de biți” care setează biți de permisiuni pentru fișierele noi. Pe sistemele Linux, este o comandă autonomă, deși shell-urile moderne precum Bash sau Zsh o includ ca o comandă încorporată.
O umask definește ce permisiuni vor fi eliminate pentru fișierele noi. Utilizează sistemul de permisiuni octale numerice similar cu cel al comanda chmod. Vă puteți gândi la un umask ca la scăderea permisiunilor de la anumite clase de utilizatori pe fișiere noi.
O umask implicită comună este 022. Acest lucru va lăsa permisiunile proprietarului fișierului în pace, în timp ce se vor elimina permisiunile de scriere pentru membrii grupului și alți utilizatori.
O umask este mai importantă pe sistemele cu mai mulți utilizatori, cum ar fi serverele, deoarece ajută la menținerea în siguranță a sistemului prin restricția implicită a permisiunilor pentru fișierele noi. Dacă un administrator creează un fișier nou ca root, nu doriți ca utilizatorii obișnuiți să poată scrie în el.
Pentru a vedea umask curent, tastați umask la coajă. O puteți vedea simbolic cu -S opțiune.
umask -S
Setarea umask pentru un utilizator
Puteți seta un umask pentru o sesiune cu comanda umask:
umask 022
Puteți pune acest lucru în fișierul dvs. de pornire shell, cum ar fi .bashrc sau .zshrc, în funcție de shell-ul pe care îl utilizați.
Setarea unei umask la nivel de sistem
Dacă rulați un server multi-utilizator, este o idee bună să setați un umask bun la nivelul întregului sistem. Puteți face acest lucru punând o setare umask în fișierele globale de pornire a shell-urilor pentru toate shell-urile instalate pe sistem.
De exemplu, puteți pune setarea umask /etc/profile, deoarece acest lucru va fi citit atât de Bash, cât și de Zsh la pornire. csh și tcsh citesc /etc/csh.cshrc și /etc/csh.login fișiere, cu acestea din urmă pentru shell-uri de conectare.
Acum aveți permisiunile corecte pentru noile fișiere Linux
Cu umask, vă puteți asigura acum că aveți permisiunile corespunzătoare pentru fișierele noi de pe sistem. Dar asta nu merge suficient de departe. Dacă doriți o securitate mai mare, poate doriți să protejați cu parolă anumite fișiere pe Linux. Există mai multe moduri de a face acest lucru și sunt ușor de implementat.