Tento článek se věnuje oprávněním u souborů a složek v Linuxu – co znamenají, proč jsou důležitá a jak s nimi pracovat bezpečně a s rozumem.
Oprávnění chrání soubory a složky před neoprávněným přístupem.
Jsou naprosto klíčové pro bezpečnost systému i jednotlivých uživatelů.
Nechceme, aby každý mohl měnit systémové soubory nebo číst naše osobní poznámky.
Proto bychom měli vždy nastavovat jen ta oprávnění, která jsou pro daný soubor nebo složku opravdu potřeba.
Základní nástroj je příkaz ls -l, který zobrazí oprávnění:
$ ls -l myfile.txt
-rw-r--r-- 1 filip users 1024 Feb 6 14:00 myfile.txt
první tři znaky (rw-) = vlastník může číst a zapisovat,
další tři (r--) = skupina může jen číst,
poslední tři (r--) = ostatní můžou taky jen číst.
Pomocí příkazu chmod můžeme měnit oprávnění. Existují dva způsoby: symbolický a číselný.
Za mě je lepší číselný způsob, ale chvilku trvá si na něj zvyknout.
u = user (vlastník)
g = group (skupina)
o = others (ostatní)
+ = přidání práva
- = odebrání práva
= = přesné nastavení
$ chmod u+x myfile #přidá právo spouštět soubor pro uživatele
$ chmod g-w myfile #odebere právo zápisu skupině
$ chmod o+r myfile #přidá právo čtení ostatním
$ chmod ug+w myfile #přidá zápis pro uživatele i skupinu
Čísla nahrazují kombinace práv. Platí:
4 = read (r)
2 = write (w)
1 = execute (x)
Kombinují se sčítáním:
$ chmod 755 myfile
Tohle znamená:
7 (4+2+1) = vlastník může vše (rwx)
5 (4+1) = skupina: číst a spouštět (r-x)
5 (4+1) = ostatní: číst a spouštět (r-x)
Příkaz chmod je mocný nástroj, ale dá se s ním i rychle něco pokazit.
Nezadávejte bezmyšlenkovitě chmod 777 – to dává všechna oprávnění všem.
U citlivých souborů buďte obzvláště opatrný.
Vždy si po změně zkontrolujte aktuální oprávnění např. pomocí ls -l nebo stat.
Linux Journey - file-permissions