Skip to content

Permisiuni de fișiere în Linux explicate

Moduri octale și simbolice pentru chmod, plus biții setuid, setgid și sticky.

Fiecare fișier are trei clase: proprietar, grup și alții. Fiecare clasă însumează trei biți: citirea e 4, scrierea e 2, executarea e 1. Trei cifre octale formează modul.

Tabel de referință · 42 intrări
42 of 42 rows
Numerice (octale)
Proprietarul are acces complet; grupul și ceilalți citesc și execută.chmod 755 script.sh
Proprietarul citește și scrie; grupul și ceilalți doar citesc.chmod 644 notes.txt
Doar proprietarul citește și scrie; nimeni altcineva nu are acces.chmod 600 ~/.ssh/id_rsa
Doar proprietarul are acces complet; nimeni altcineva nu are acces.chmod 700 ~/.ssh
Toată lumea are acces complet. Un risc de securitate.chmod 777 shared/
Toată lumea citește și scrie. Niciun bit de executare setat.chmod 666 log.txt
Proprietarul are acces complet; grupul citește și execută; ceilalți nimic.chmod 750 app/
Doar executare, pentru toate clasele. Un director poate fi traversat, dar nu și listat.chmod 111 dir/
Niciun acces pentru nicio clasă. Root poate totuși citi fișierul.chmod 000 private.key
Proprietarul și grupul au acces complet plus setgid; tiparul directoarelor de echipă partajate.chmod 2775 /srv/team
Rezultate umask
Masca implicită. Fișierele noi primesc 644; directoarele noi primesc 755.umask 022
Masca privată. Fișierele noi primesc 600; directoarele noi primesc 700.umask 077
Simbolic
Adaugă executare pentru proprietar.chmod u+x deploy.sh
Elimină scrierea de la grup.chmod g-w config.yml
Elimină citirea de la ceilalți.chmod o-r secret.env
Setează doar-citire pentru toate clasele.chmod a=r readme.md
Acordă toate permisiunile tuturor claselor.chmod ugo+rwx public/
Biți speciali
Bitul setuid este setat. Binarul rulează ca proprietarul fișierului.chmod 4755 /usr/bin/passwd
Bitul setgid este setat. Fișierele și subdirectoarele noi moștenesc grupul directorului.chmod 2755 /shared
Bitul sticky este setat. Doar proprietarul fișierului poate șterge.chmod 1777 /tmp
Bitul sticky pe un fișier obișnuit. Un indiciu moștenit de păstrare în swap, pe care Linux-ul modern îl ignoră.chmod 1755 legacy.sh
Comenzi
Schimbă biții modului fișierului.chmod 755 file
Schimbă proprietarul și grupul unui fișier.chown user:group file
Schimbă grupul care deține un fișier.chgrp devs file
Setează masca implicită de permisiuni pentru fișierele noi.umask 022
Listează fișierele cu permisiuni în format lung.ls -l /etc
Afișează intrările POSIX ACL ale unui fișier.getfacl report.pdf
Setează sau modifică intrări POSIX ACL.setfacl -m u:alice:rw report.pdf
Găsește fișierele ale căror biți de permisiuni se potrivesc cu un mod.find / -perm /4000
Afișează metadatele unui fișier, inclusiv modul octal.stat -c '%a %n' file
Listează permisiunile fiecărei componente dintr-o cale.namei -l /var/www/index.html
Schimbă un atribut al fișierului, precum immutable.chattr +i /etc/resolv.conf
Listează atributele fișierelor.lsattr /etc/resolv.conf
Afișează capacitățile acordate unui fișier.getcap /usr/bin/ping
Acordă o capacitate unui fișier, fără setuid.setcap 'cap_net_raw=+ep' /usr/bin/ping
Listează capacitățile în vigoare pentru shell-ul curent.capsh --print
Afișează id-ul de utilizator, id-ul de grup și apartenențele la grupuri ale unui utilizator.id alice
Listează grupurile din care face parte un utilizator.groups alice
Rulează o comandă ca alt utilizator conform politicii sudoers.sudo systemctl restart nginx
Editează fișierul sudoers cu verificarea sintaxei.visudo
Comută pe alt cont de utilizator.su - deploy
Pornește un shell cu un alt grup primar.newgrp developers