unix permissions file permissions unix with examples
Permisiuni Unix: Aflați care sunt diferitele permisiuni de fișiere din Unix
Unix este un sistem multi-utilizator în care aceleași resurse pot fi partajate de utilizatori diferiți.
Toate permisiunile din Unix se bazează pe restricționarea accesului la anumite fișiere și foldere pentru anumiți utilizatori sau grupuri de utilizatori.
=> Faceți clic aici pentru seria Unix Tutorial complet
Ce veți învăța:
- Permisiuni Unix: Permisiuni de fișiere cu exemple
- Instrumente de linie de comandă Unix pentru a modifica permisiunile de acces
- Concluzie
- Lectură recomandată
Permisiuni Unix: Permisiuni de fișiere cu exemple
Accesul la un fișier are trei niveluri:
- Permisiune de citire - Dacă este autorizat, utilizatorul poate citi conținutul fișierului.
- Permisiune de scriere - Dacă este autorizat, utilizatorul poate modifica fișierul.
- Executați permisiunea - Dacă este autorizat, utilizatorul poate executa fișierul ca program.
Fiecare fișier este asociat cu un set de identificatori care sunt utilizați pentru a determina cine poate accesa fișierul:
- ID utilizator (UID) - Specifică utilizatorul care deține fișierul. În mod implicit, acesta este creatorul fișierului.
- ID grup (GID) - Specifică grupul de utilizatori căruia îi aparține fișierul.
În cele din urmă, există trei seturi de permisiuni de acces asociate fiecărui fișier:
- Permisiunea utilizatorului - Specifică nivelul de acces acordat utilizatorului care corespunde UID-ului fișierului.
- Permisiune de grup - Specifică nivelul de acces acordat utilizatorilor din grupuri care corespund GID-ului fișierului.
- Permisiunea altora - Specifică nivelul de acces acordat utilizatorilor fără UID sau GID potrivite.
Împreună, această schemă de controale de acces face sistemul Unix extrem de sigur, oferind simultan flexibilitatea necesară unui sistem multi-utilizator.
ls -l comanda poate fi utilizată pentru a vizualiza permisiunile asociate fiecărui fișier din folderul curent.
Exemplul de ieșire al acestei comenzi este dat mai jos.
Exemplu:
steaguri link-uri proprietar grup dimensiune data modificată nume
total of 24 drwxr-xr-x 7 user staff 224 Jun 21 15:26 . drwxrwxrwx 8 user staff 576 Jun 21 15:02. -rw-r--r-- 1 user staff 6 Jun 21 15:04 .hfile drwxr-xr-x 3 user staff 96 Jun 21 15:17 dir1 drwxr-xr-x 2 user staff 64 Jun 21 15:04 dir2 -rw-r--r-- 1 user staff 39 Jun 21 15:37 file1 -rw-r--r-- 1 user staff 35 Jun 21 15:32 file2
În această ieșire, „total 24” indică numărul total de blocuri ocupate de fișierele listate.
Coloanele rămase sunt:
- steaguri - O colecție de steaguri care indică modul fișier și permisiunile fișierului.
- linkuri - Numărul de legături asociate fișierului.
- proprietar - UID-ul care deține fișierul.
- grup - GID-urile asociate fișierului.
- mărimea - Dimensiunea fișierului în octeți.
- data modificata - Luna, data, ora și minutul ultimei modificări a fișierului.
- Nume - Numele fișierului sau directorului.
Semnalizatoarele din prima coloană specifică modul fișier și diferitele seturi de permisiuni:
# 1) Primul caracter indică tipul de fișier:
caracteristici noi în java 8 cu exemple
- -: reprezintă un fișier obișnuit
- d: reprezintă un director
- c: reprezintă un fișier dispozitiv de caractere
- b: reprezintă un fișier bloc de dispozitiv
# 2) Următoarele trei caractere indică permisiunile utilizatorului:
- Primul dintre aceste trei indică dacă utilizatorul are permisiunea de citire:
-
- -: indică faptul că utilizatorul nu are permisiunea de citire.
- r: indică faptul că utilizatorul are permisiunea de citire.
-
- Al doilea caracter indică dacă utilizatorul trebuie să scrie permisiunea:
-
- -: indică faptul că utilizatorul nu are permisiunea de scriere.
- w: indică faptul că utilizatorul trebuie să scrie permisiunea.
-
- Ultimul caracter indică dacă utilizatorul a executat permisiunea:
-
- -: indică faptul că utilizatorul nu trebuie să execute permisiunea.
- x: indică faptul că utilizatorul a executat permisiunea.
-
# 3) Următoarele trei caractere indică permisiuni de grup, similar cu permisiunile de utilizator de mai sus.
# 4) Ultimele trei caractere indică permisiuni publice, similar cu permisiunile utilizatorului de mai sus.
În cazul în care fișierul este un fișier obișnuit, permisiunea de citire permite utilizatorului să deschidă fișierul și să examineze conținutul acestuia. Permisiunea de scriere permite utilizatorului să modifice conținutul fișierului. Și permisiunea de executare permite utilizatorului să ruleze fișierul ca program.
În cazul în care fișierul este un director, permisiunea de citire permite utilizatorului să listeze conținutul directorului. Permisiunea de scriere permite utilizatorilor să creeze un fișier nou în director și să elimine un fișier sau un director din acesta. Permisiunea Executare permite utilizatorului să efectueze o căutare în director.
Instrumente de linie de comandă Unix pentru a modifica permisiunile de acces
Unix oferă o serie de instrumente din linia de comandă pentru a modifica permisiunile de acces:
Rețineți că numai proprietarul fișierului poate modifica permisiunile de acces.
1. chmod : modificați permisiunile de acces la fișiere
- Descriere: Această comandă este utilizată pentru a modifica permisiunile fișierului. Aceste permisiuni sunt permise de citire, scriere și executare pentru proprietar, grup și alte persoane.
- sintaxă (mod simbolic) :
chmod (ugoa)((+-=)(mode)) file
- Primul parametru opțional indică cine - acesta poate fi (u) ser, (g) grup, (o) lor sau (a) ll
- Al doilea parametru opțional indică opcode - acesta poate fi pentru adăugarea (+), eliminarea (-) sau atribuirea (=) permisiunii.
- Al treilea parametru opțional indică modul - acesta poate fi (r) ead, (w) rite sau e (x) ecute.
Exemplu :Adăugați permisiunea de scriere pentru utilizator, grup și altele pentru file1
$ ls -l
-rw-r – r– 1 personal utilizator 39 Iun 21 15:37 fișier1
-rw-r – r– 1 personal utilizator 35 Iun 21 15:32 fișier2
$ chmod ugo+w file1 $ ls -l
-rw-rw-rw- 1 personal utilizator 39 Iun 21 15:37 fișier1
-rw-r – r– 1 personal utilizator 35 Iun 21 15:32 fișier2
$ chmod o-w file1 $ ls -l
-rw-rw-r– 1 personal utilizator 39 Iun 21 15:37 fișier1
-rw-r – r– 1 personal utilizator 35 Iun 21 15:32 fișier2
- sintaxă (mod numeric) :
chmod (mode) file
- Modul este o combinație de trei cifre - prima cifră indică permisiunea pentru utilizator, a doua cifră pentru grup și a treia cifră pentru alții.
- Fiecare cifră este calculată prin adăugarea permisiunilor asociate. Permisiunea de citire este „4”, permisiunea de scriere este „2” și permisiunea de executare este „1”.
- Exemplu :Acordați permisiunea de citire / scriere / executare utilizatorului, permisiunea de citire / executare a grupului și executarea permisiunii către alții.
$ ls -l
-rw-r – r– 1 personal utilizator 39 Iun 21 15:37 fișier1
-rw-r – r– 1 personal utilizator 35 Iun 21 15:32 fișier2
$ chmod 777 file1 $ ls -l
-rwxrwxrwx 1 personal utilizator 39 Iun 21 15:37 fișier1
-rw-r – r– 1 personal utilizator 35 Iun 21 15:32 fișier2
2. chown : schimbați calitatea de proprietar al fișierului.
- Descriere : Numai proprietarul fișierului are drepturile de a schimba proprietatea fișierului.
- sintaxă : chown (proprietar) (fișier)
- Exemplu :Schimbați proprietarul fișierului 1 în utilizator2 presupunând că acesta este în prezent deținut de utilizatorul curent
$ chown user2 file1
3. chgrp : modificați proprietatea grupului asupra fișierului.
- Descriere : Numai proprietarul fișierului are drepturile de a schimba proprietatea fișierului.
- sintaxă : chgrp (grup) (fișier)
- Exemplu :Schimbați grupul de fișier1 în grup2 presupunând că acesta este în prezent deținut de utilizatorul curent.
$ chgrp group2 file1
În timp ce creați un fișier nou, Unix setează permisiunile implicite ale fișierului. Unix folosește valoarea stocată într-o variabilă numită umask pentru a decide permisiunile implicite. Valoarea umask îi spune Unix care dintre cele trei seturi de permisiuni trebuie dezactivate.
Semnalizatorul este format din trei cifre octale, fiecare reprezentând măștile de permisiuni pentru utilizator, grup și altele. Permisiunile implicite sunt determinate prin scăderea valorii de mascare din „777” pentru directoare și „666” pentru fișiere. Valoarea implicită a măștii este „022”.
4. masca : modificați permisiunile de acces implicite
cel mai bun editor de text pentru python mac
- Descriere: Această comandă este utilizată pentru a seta permisiunile implicite de fișiere. Aceste permisiuni sunt permise de citire, scriere și executare pentru proprietar, grup și altele.
- sintaxă : umask (mode)
- Modul este o combinație de trei cifre - prima cifră indică permisiunea pentru utilizator, a doua cifră pentru grup și a treia cifră pentru alții.
- Fiecare cifră este calculată prin adăugarea permisiunilor asociate. Permisiunea de citire este „4”, permisiunea de scriere este „2” și permisiunea de executare este „1”.
Exemplu :Acordați utilizatorului permisiunea de citire / scriere / executare și fără permisiuni pentru grupare sau alte persoane. adică permisiunea pentru fișiere va fi de 600, iar pentru directoare va fi de 700.
$ umask 077
- Exemplu :Acordați permisiunea de citire / scriere / executare utilizatorului, permisiuni de citire / executare pentru grupare sau alte persoane pentru directoare și permisiune numai pentru citire pentru grupare sau alte persoane pentru alte fișiere. adică permisiunea pentru fișiere va fi 644, iar pentru directoare va fi 755.
$ umask 022
Concluzie
Permisiunile din Unix pot fi pentru „utilizator”, „grup” și pentru toți utilizatorii numiți „Altele”.
Detaliile, cum ar fi steagurile de permisiuni, numărul de legături, proprietarul, grupul, dimensiunea, data ultimei modificări, fișierul etc., pot fi obținute pur și simplu cu comanda „ls-l”.
=> Faceți clic aici pentru seria Unix Tutorial complet
Lectură recomandată
- Permisiuni de acces la fișierele Unix: Unix Chmod, Chown și Chgrp
- Tăiați comanda în Unix cu exemple
- Manipularea fișierelor în Unix: Prezentare generală a sistemului de fișiere Unix
- Comenzi Unix: Comenzi Unix de bază și avansate cu exemple
- Găsiți comanda în Unix: Găsiți fișiere cu Unix Găsește fișier (exemple)
- Tutorial UNIX pentru începători (peste 20 de videoclipuri de instruire aprofundate Unix)
- Comenzi de procesare a textelor Unix: filtre Unix cu exemple
- Unix caractere speciale sau metacaractere pentru manipularea fișierelor