Skip to content

Oprávnění souborů v Linuxu vysvětlena

Oktalové a symbolické režimy pro chmod plus bity setuid, setgid a sticky.

Každý soubor má tři třídy: vlastník, skupina a ostatní. Každá třída sčítá tři bity: čtení je 4, zápis je 2, spuštění je 1. Tři oktalové číslice tvoří režim.

Referenční tabulka · 42 položek
42 of 42 rows
Číselné (oktalové)
Plný přístup pro vlastníka; skupina a ostatní čtou a spouštějí.chmod 755 script.sh
Vlastník čte a zapisuje; skupina a ostatní pouze čtou.chmod 644 notes.txt
Pouze vlastník čte a zapisuje; ostatní nemají přístup.chmod 600 ~/.ssh/id_rsa
Pouze plný přístup vlastníka; ostatní nemají přístup.chmod 700 ~/.ssh
Plný přístup pro všechny. Bezpečnostní riziko.chmod 777 shared/
Všichni čtou a zapisují. Není nastaven žádný bit spuštění.chmod 666 log.txt
Plný přístup pro vlastníka; skupina čte a spouští; ostatní nic.chmod 750 app/
Pouze spuštění, pro všechny třídy. Adresář lze projít, ale nelze vypsat jeho obsah.chmod 111 dir/
Žádný přístup pro žádnou třídu. Root soubor stále přečte.chmod 000 private.key
Plný přístup vlastníka a skupiny plus setgid; vzor sdíleného týmového adresáře.chmod 2775 /srv/team
Výsledky umask
Výchozí maska. Nové soubory dostanou 644; nové adresáře 755.umask 022
Soukromá maska. Nové soubory dostanou 600; nové adresáře 700.umask 077
Symbolické
Přidá vlastníkovi spuštění.chmod u+x deploy.sh
Odebere skupině zápis.chmod g-w config.yml
Odebere ostatním čtení.chmod o-r secret.env
Nastaví všem třídám pouze čtení.chmod a=r readme.md
Přidělí všem třídám všechna oprávnění.chmod ugo+rwx public/
Speciální bity
Nastaven bit setuid. Binárka běží jako vlastník souboru.chmod 4755 /usr/bin/passwd
Nastaven bit setgid. Nové soubory a podadresáře dědí skupinu adresáře.chmod 2755 /shared
Nastaven bit sticky. Mazat může pouze vlastník souboru.chmod 1777 /tmp
Bit sticky na běžném souboru. Pozůstatek hintu držet ve swapu, který moderní Linux ignoruje.chmod 1755 legacy.sh
Příkazy
Mění bity režimu souboru.chmod 755 file
Mění vlastníka a skupinu souboru.chown user:group file
Mění skupinu, která soubor vlastní.chgrp devs file
Nastavuje výchozí masku oprávnění pro nové soubory.umask 022
Vypisuje soubory s oprávněními v dlouhém formátu.ls -l /etc
Zobrazuje záznamy POSIX ACL souboru.getfacl report.pdf
Nastavuje nebo mění záznamy POSIX ACL.setfacl -m u:alice:rw report.pdf
Najde soubory, jejichž bity oprávnění odpovídají režimu.find / -perm /4000
Vypisuje metadata souboru včetně oktalového režimu.stat -c '%a %n' file
Vypisuje oprávnění každé složky cesty.namei -l /var/www/index.html
Mění atribut souboru, například immutable.chattr +i /etc/resolv.conf
Vypisuje atributy souboru.lsattr /etc/resolv.conf
Zobrazuje capability přidělené souboru.getcap /usr/bin/ping
Přidělí souboru capability bez setuid.setcap 'cap_net_raw=+ep' /usr/bin/ping
Vypisuje capability platné v aktuálním shellu.capsh --print
Zobrazuje id uživatele, id skupiny a členství uživatele ve skupinách.id alice
Vypisuje skupiny, do kterých uživatel patří.groups alice
Spustí příkaz jako jiný uživatel podle politiky sudoers.sudo systemctl restart nginx
Upravuje soubor sudoers s kontrolou syntaxe.visudo
Přepne na jiný uživatelský účet.su - deploy
Spustí shell s jinou primární skupinou.newgrp developers