În acest capitol, vom discuta în detaliu despre fișierul permisiunea și moduri de acces în Unix. Proprietatea fișierelor este o componentă importantă a Unix care oferă o metodă sigură pentru stocarea fișierelor., Fiecare fișier din Unix are următoarele atribute −
-
permisiuni proprietar-permisiunile proprietarului determină ce acțiuni poate efectua proprietarul fișierului pe fișier.permisiuni de grup – permisiunile grupului determină ce acțiuni poate efectua un utilizator, care este membru al grupului din care face parte un fișier.alte permisiuni (mondiale) − permisiunile pentru alții indică ce acțiune pot efectua toți ceilalți utilizatori în fișier.,
Permisiunea Indicatori
în Timp ce cu ajutorul comenzii ls-l, se afișează diverse informații legate de permisiunea de fișier, după cum urmează −
$ls -l /home/amrood-rwxr-xr-- 1 amrood users 1024 Nov 2 00:10 myfiledrwxr-xr--- 1 amrood users 1024 Nov 2 00:10 mydir
Aici, prima coloană reprezintă diferite moduri de acces, de exemplu, permisiunea asociate cu un fișier sau un director.permisiunile sunt împărțite în grupuri de câte trei, iar fiecare poziție din grup denotă o permisiune specifică, în această ordine: read (r), write (w), execute (x) −
moduri de acces la fișiere
permisiunile unui fișier sunt prima linie de apărare în securitatea unui sistem Unix., Blocurile de bază ale permisiunilor UNIX sunt permisiunile de citire, scriere și executare, care au fost descrise mai jos −
Read
acordă capacitatea de a citi, adică de a vizualiza conținutul fișierului.
Write
acordă capacitatea de a modifica sau elimina conținutul fișierului.
Execute
utilizatorul cu permisiuni de executare poate rula un fișier ca program.
moduri de acces Director
moduri de acces Director sunt listate și organizate în același mod ca orice alt fișier., Există câteva diferențe care trebuie menționate −
Citește
accesul la un director înseamnă că utilizatorul poate citi conținutul. Utilizatorul poate privi numele fișierelor din director.
Write
Access înseamnă că utilizatorul poate adăuga sau șterge fișiere din director.
executați
executarea unui director nu are sens, deci gândiți-vă la aceasta ca la o permisiune de traversare.
Un utilizator trebuie să aibă execute acces la directorul bin pentru a executa comanda ls sau cd.,
schimbarea permisiunilor
pentru a schimba permisiunile fișierului sau directorului, utilizați comanda chmod (change mode). Există două moduri de a utiliza chmod — modul simbolic și modul absolut.
utilizarea chmod în modul simbolic
cel mai simplu mod pentru un începător de a modifica permisiunile de fișiere sau director este de a utiliza modul simbolic. Cu permisiuni simbolice puteți adăuga, șterge sau specifica setul de permisiuni dorit utilizând operatorii din tabelul următor.
Sr. Nr., | Chmod operator & Descriere |
---|---|
1 |
+ Adaugă desemnat permisiunea(s) într-un fișier sau director. |
2 |
elimină permisiunile desemnate dintr-un fișier sau director. |
3 |
= Setează permisiunile desemnate. |
Iată un exemplu folosind testfile., Rularea ls -1 pe testfile arată că fișierul permisiunile sunt după cum urmează −
$ls -l testfile-rwxrwxr-- 1 amrood users 1024 Nov 2 00:10 testfile
Apoi, fiecare exemplu chmod comanda din tabelul precedent se rula pe testfile, urmat de ls –l, astfel încât să puteți vedea permisiunea modificări −
Iată cum puteți combina aceste comenzi pe o singura linie
$chmod o+wx,u-x,g = rx testfile$ls -l testfile-rw-r-xrwx 1 amrood users 1024 Nov 2 00:10 testfile
Utilizarea chmod cu Absolut Permissions
Cea de-a doua modalitate de a modifica permisiunile cu comanda chmod este de a utiliza un număr pentru a specifica fiecare set de permisiuni pentru fișier.,
fiecărei permisiuni i se atribuie o valoare, după cum arată tabelul următor, iar totalul fiecărui set de permisiuni oferă un număr pentru acel set.
Iată un exemplu folosind fișierul test. Rularea ls -1 pe testfile arată că fișierul permisiunile sunt după cum urmează −
$ls -l testfile-rwxrwxr-- 1 amrood users 1024 Nov 2 00:10 testfile
Apoi, fiecare exemplu chmod comanda din tabelul precedent se rula pe testfile, urmat de ls –l, astfel încât să puteți vedea permisiunea modificări −
Schimbarea Proprietarilor și Grupuri
în Timp ce crearea unui cont pe Unix, se atribuie un proprietar de IDENTITATE și o IDENTITATE de grup pentru fiecare utilizator., Toate permisiunile menționate mai sus sunt, de asemenea, atribuite pe baza proprietarului și a grupurilor.două comenzi sunt disponibile pentru a schimba proprietarul și grupul de fișiere –
-
chown-comanda chown înseamnă „schimbare proprietar” și este utilizată pentru a schimba proprietarul unui fișier.
-
chgrp-comanda chgrp reprezintă „change group” și este utilizată pentru a schimba grupul unui fișier.
schimbarea proprietății
comanda chown schimbă proprietatea unui fișier., Sintaxa de bază este următoarea −
$ chown user filelist
valoarea utilizatorului poate fi fie numele unui utilizator din sistem, fie id-ul utilizatorului (uid) al unui utilizator din sistem.următorul exemplu vă va ajuta să înțelegeți conceptul −
$ chown amrood testfile$
schimbă proprietarul fișierului dat utilizatorului amrood.
notă-utilizatorul super, root, are capacitatea nerestricționată de a schimba proprietatea oricărui fișier, dar utilizatorii normali pot schimba proprietatea numai a acelor fișiere pe care le dețin.,
schimbarea proprietății grupului
comanda chgrp schimbă proprietatea grupului unui fișier. Sintaxa de bază este următoarea −
$ chgrp group filelist
valoarea grupului poate fi numele unui grup din sistem sau ID-ul grupului (GID) al unui grup din sistem.
următorul exemplu vă ajută să înțelegeți conceptul –
$ chgrp special testfile$
schimbă grupul fișierului dat în grup special.adesea, atunci când o comandă este executată, va trebui să fie executată cu privilegii speciale pentru a-și îndeplini sarcina.,
de exemplu, când schimbați parola cu comanda passwd, noua parolă este stocată în fișierul/etc / shadow.ca utilizator obișnuit, nu aveți acces la citire sau scriere la acest fișier din motive de securitate, dar când schimbați parola, trebuie să aveți permisiunea de scriere pentru acest fișier. Aceasta înseamnă că programul passwd trebuie să vă ofere permisiuni suplimentare, astfel încât să puteți scrie în fișierul /etc/shadow.permisiunile suplimentare sunt acordate programelor printr-un mecanism cunoscut sub numele de biți Set User ID (SUID) și Set Group ID (sgid).,
când executați un program care are bitul SUID activat, moșteniți permisiunile proprietarului programului respectiv. Programele care nu au setul de biți SUID sunt rulate cu permisiunile utilizatorului care a început programul.
acesta este și cazul SGID. În mod normal, programele se execută cu permisiunile dvs. de grup, dar în schimb grupul dvs. va fi schimbat doar pentru acest program la proprietarul grupului programului.
biții SUID și SGID vor apărea ca litera ” s ” dacă permisiunea este disponibilă., Bitul SUID ” s ” va fi localizat în biții de permisiune unde se află în mod normal permisiunea de executare a proprietarilor.
de exemplu, comanda −
$ ls -l /usr/bin/passwd-r-sr-xr-x 1 root bin 19031 Feb 7 13:47 /usr/bin/passwd*$
arată că bitul SUID este setat și că comanda este deținută de rădăcină. O majusculă S în poziția de executare în loc de Litere Mici s indică faptul că bitul de executare nu este setat.,
Dacă sticky bit este activat pe director, fișierele pot fi eliminate doar dacă sunteți unul dintre următorii utilizatori −
- proprietarul lipicios director
- proprietarul fișierului fiind eliminat
- super-utilizator, rădăcină
Pentru a seta SUID și SGID biți pentru orice director încercați următoarea comandă −
$ chmod ug+s dirname$ ls -ldrwsr-sr-x 2 root root 4096 Jun 19 06:45 dirname$