Spuneam într-un articol precedent că voi prezenta și modul simbolic de alocare a permisiunilor unui fișier, prin contrast cu modul octal de schimbare a acestora.
Reprezentarea simbolică este constituită din:
- un cod care indică setul de permisiuni care se va modifica (proprietar, grup, alții);
- un simbol care indică cum anume vrem să modificăm (adăugare, ștergere sau setare identică cu o altă valoare);
- un cod care specifică care ar trebui să fie permisiunea.
Alocarea permisiunilor în Linux
În tabelul de mai jos sunt prezentate codurile modului simbolic de alocare a permisiunilor:
Codul permisiunii care se va modifica | Semnificație | Cod care arată cum se va modifica permisiunea | Semnificație | Cod care specifică noua permisiune | Semnificație |
u | Proprietar | + | Adăugare | r | Citire |
g | Grup | - | Ștergere | w | Scriere |
o | Alții | = | Setează egal cu | x | Execuție |
a | Toți | X | Execuție doar dacă fișierul este un director sau are deja permisiuni de execuție | ||
s | SUID sau SGID | ||||
t | Bitul sticky | ||||
u | Permisiuni Proprietar existente | ||||
g | Permisiuni Grup existente | ||||
o | Permisiuni Alții existente |
Pentru a utiliza alocarea permisiunilor în modul simbolic, vom combina unul sau mai multe coduri din prima coloană a tabelului de mai sus cu un simbol din a treia coloană și și unul sau mai multe coduri din a cincea coloană. Se pot combina setări multiple dacă le vom separa cu virgule.
Să presupunem că am un fișier numit exemplu. El are, prestabilit, permisiunea 644 (-rw-r--r--). Comanda chmod ug=rw exemplu
îi alocă acestui fișier permisiunile rw pentru proprietar și grup - astfel, fișierul va avea, după executarea comenzii, permisiunile -rw-rw-r--).
Comanda chmod u-w,g-w,o+w exemplu
va șterge permisiunea de scriere de la utilizator și grup și va aloca persmisiunea de scriere pentru alții - după executarea comenzii, fișierul exemplu va avea permisiunile -r--r--rw-.
În imaginea de mai jos sunt câteva exemplu de alocare în mod simbolic a permisiunilor pentru două fișiere de test:
Regulă generală a permisiunilor în Linux
Ca regulă generală, permisiunile simbolice sunt mai utile atunci când vrem să facem o schimbare simplă (cum ar fi, de exemplu, adăugarea permisiunilor de scriere sau execuție pentru una sau mai multe clase de utilizatori), sau atunci când vrem să facem aceleași schimbări la mai multe fișiere, fără afectarea altor permisiuni (de exemplu, adăugarea permisiunii de scriere fără afectarea permisiunii de execuție).
Permisiunile octale sunt cele mai utile atunci când vrem să stabilim permisiuni absolute specifice, cum ar fi rw-r--r-- (644).
În orice situație, un utilizator Linux care vrea să învețe, trebuie să fie familiar cu ambele moduri de alocare a permisiunilor.
Permisiunile unui fișier pot fi schimbate doar de proprietarul său sau de administrator (root). Chiar dacă alți utilizatori au drept de scriere într-un director și pe fișiere, ei nu pot schimba permisiunile.
Ca să rămân în același ton cu permisiunile din Linux, probabil articolul următor va fi despre umask și schimbarea permisiunilor default.
Ice Alinutza a zis
Felicitări! Ușor, ușor transformi blogul "și într-o biblie" a începătorului în ale linuxului!
Bobses a zis
Mulțumesc!
Încerc și eu să fac ce pot atunci când am timp. Îmi amintesc că mi-a fost destul de greu și mie acum mulți ani, când astfel de informații nu existau în limba română.
Mă bucur dacă articolele mele ajută. 🙂
Ice Alinutza a zis
Incerc și eu să ajut la o mai bună înțelegere a celor scrise de tine și de aceea îmi permit să aduc în completarea acestora "o imagine" care face cât o mie de cuvinte (cel puțin așa cred eu). Am să postez mai jos și siteul, în limba engleză, pe pagina căruia se găsește imaginea pentru a respecta "drepturile de autor" (cel puțin eu acolo am găsit-o).
http://www.beopensource.com/2016/01/file-permissions-in-linux-with-Infographics.html
Bobses a zis
Fain.
Orice completări sunt binevente.
Ice Alinutza a zis
Din dragoste pentru limba română (și "pitici" pe creierul meu pentru o exprimare corectă): site-ul (scuze!) 🙁