Příkaz chmod slouží k úpravě práv pro soubor(y) nebo složku(y). Je součástí každé distribuce linuxu a na následujících řádcích Vám vysvětlím princip činnosti a zobrazím na příkladech.
Práva
Každý soubor (odteď myšleno i jako soubor nebo složka(y)) má svá práva a svého vlastníka. Pokud si zobrazíte příkazem ls -l obsah adresáře, v levé části se Vám zobrazí práva jednotlivého souboru. Jednotlivý znak nebo písmeno reprezentuje podle své pozice nastavení práva.
Zkratky jsou následující:
r znamená že je soubor pro čtení
w znamená že je soubor pro zápis
x znamená že má soubor nastaven spustitelný příznak, dá se spustit přes ./názevProgramu
Rozmístnění znaků má také svůj smysl, budeme číst zleva doprava:
- první pozice obsahuje typy souborů, viz další sekce
--- následující tři znamenají nastavení práv pro majitele souboru
--- následující tři znamenají práva pro skupinu
--- zbylé tři znamenají práva pro svět (myšleno pro všechny ostatní).
Příklady:
-rwxrwxrwx znamená že všechny tři skupiny mají maximální oprávnění (obyčejný soubor) -rwx------ znamená že pouze majitel může číst, zapisovat a spouštět (obyčejný soubor) -rwxrwx--- znamená že pouze skupina a majitel může číst, zapisovat a spouštět (obyčejný soubor) drwx------ znamená že pouze majitel může číst, zapisovat a spouštět (adresář) drwxrwx--- znamená že pouze skupina a majitel může číst, zapisovat a spouštět (adresář)
Typy souborů
Linux používá 7 typů souborů:
- - obyčejný soubor
d - adresář
l - odkaz
c - speciální soubor
s - socket
p - pojmenovaná roura
d - blokové zařízení
Nastavení
Vlastní práva
Pokud chceme nastavit specifická práva, doporučuji se naučit následující jednoduchou tabulku:
* |
majitel |
skupina |
svět |
čtení -r- |
400 |
040 |
004 |
zápis -w- |
200 |
020 |
002 |
vykonání -x- |
100 |
010 |
001 |
Nyní si vezmeme soubor pokus a chceme mu nastavit následující práva:
Majitel má všechny práva:
400 + 200 + 100 = 700
Skupina může pouze číst:
40 + 0 + 0 = 40
Svět může pouze číst:
4 + 0 + 0 = 4
Pro každé oprávnění máme 3 výsledky, abysme získali celkové oprávnění, tyto čísla sečteme:
700 + 40 + 4 = 744
Nyní už máme výsledek a uplatníme jej na soubor pokus:
chmod 744 pokus
Celkový výpočet tedy spočívá v tom, že sečteme podle tabulky práva, která chceme nastavit a aplikujeme přes příkaz chmod na soubor. Syntaxe je následující:
chmod CISLO soubor
Spustitelný program
Pokud chceme aby byl program spustitelný, můžeme použít jednu z následujících konstrukcí:
chmod +x soubor
nebo
chmod 777 soubor
Složka
Pokud chceme práva nastavit na složku, tak většinou je chceme nastavit i na všechny soubory, které obsahuje. Proto se používá parametr -R:
chmod 755 -R slozka/
Odkazy
Autor návodu: RomanMakudera