Modificare permisiuni
Pentru a modifica drepturile de acces ale unui fisier se foloseste comanda chmod (change mode) cu urmatoarea sintaxa:
chmod [OPTION]... MODE... FILES
Exista doua posibilitati de setarea a drepturilor de acces:
1) Modul simbolic (relativ)
Trebuie avute in vedere urmatoarele:
a) ale cui drepturi se modifica (u pentru owner, g pentru group, o pentru other, a pentru all)
b) ce presupune modificarea (+ (plus) pentru adaugare, - (minus) pentru eliminare, = (egal) pentru setare indiferent de permisiunile deja existente)
c) ce permisiuni se modifica (r pentru read, w pentru write, x pentru execute, s pentru setuid/setgid si t pentru sticky bit)
Exemplu
|
1. Pentru fisierul /home/stud/orar.doc se modifica drepturile de acces astfel: pentru owner se aduga r,w si x, pentru grup se adauga r si w, iar pentru o se adauga r. Totul este relativ la drepturile avute deja.
chmod u+rwx,g+rw,o+r /home/stud/orar.doc
2. Pentru fisierul /home/stud/test_conexiune_internet.sh se modifica drepturile de acces astfel: pentru owner si group se adauga dreptul de executie iar pentru other se elimina toate drepturile.
chmod ug+x,o-rwx /home/stud/test_conexiune.sh
3. Se seteaza sticky bit pentru directorul /home/stud/tmp
chmod +t /home/stud/tmp
Totul este relativ la permisiunile deja existente.
|
2. Modul octal (absolut)
Se folosesc 4 cifre in baza 8 (intre 0 si 7) in mod pozitional astfel: pentru fiecare grupa de permisiuni (u, g si o) in functie de existenta sau lipsa unei permisiuni specific se aduna o cifra conform cu puterea lui 2 corespunzatoare acelei pozitii. Lipsa unei permisiuni se marcheaza cu semnul "-" (minus).
Exemplu
|
r
|
w
|
-
|
r
|
-
|
x
|
r
|
-
|
-
|
4
|
2
|
0
|
4
|
0
|
1
|
4
|
0
|
0
|
Permisiune fisier = 654
|
Prima cifra din cele 4 reprezinta biti speciali care se pot seta ( SUID, GUID si Sticky bit). Daca este zero reprezinta lipsa lor. Daca se omite se considera zero ( Exemplu: permisiunea 654 este de fapt 0654).
Pentru prima cifra se poate folosi:
1 pentru sticky bit
2 pentru SGID
4 pentru SUID
Exemplu
|
Echivalenta dintre modul relativ si absolut:
rwx rwx rwx = 0777
Exemplu: chmod 0777 /home/stud/a.txt
r-- --- --- = 0400
Exemplu: chmod 0400 /home/stud/b.txt
rwS rw- r-x = 4665
Exemplu: chmod 4665 /home/stud/c.txt
rw- r-s rwx = 2657
Exemplu: chmod 2657 /home/stud/d.txt
|
Umask
Conceptul de umask se foloseste pentru a stabili modul default de permisiuni cu care este creat un director sau fisier.
By default fisierele au permisiunile 0666(rw- rw- rw-) iar directoarele 0777(rwx rwx rwx). Pentru a modifica modul default de permisiuni se foloseste umask in urmatorul mod: din valoarea default se scade umask (pozitional), rezultand modul in care vor fi create fisierele in ceea ce priveste permisiunile.
Exemplu
|
daca umask este 0002 noile fisiere create vor avea permisiunile 0664 iar directoarele 0775
daca umask este 0022 noile fisiere create vor avea permisiunile 0644 iar directoarele 0755
|
Fiecare user are propria valoare pentru umask. umask se seteaza per user.
Se vizualizeaza cu comanda: umask.
Pentru a modifica umask se foloseste comanda umask NOUA_MASCA ( Exemplu: umask 0222).
NOUA_MASCA poate fi reprezentata octal sau simbolic.
Nota
|
Umask nu trebuie schimbata decat in situatii deosebite. Modificarea umask poate duce la instabilitatea intregului sistem.
|
Nota
|
Odata modificat umask, noua valoare nu se pastreaza decat pana la urmatorul restart. Pentru ca modificareaumask sa fie permanenta se scrie comanda de modificare a umask intr-un fisier de initializare al environment-ului utilizatorului precum ~/.bashrc.
|
Dostları ilə paylaş: |