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.
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í:\
Rozmístnění znaků má také svůj smysl, budeme číst zleva doprava:
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ář)
Linux používá 7 typů souborů:
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
Pokud chceme aby byl program spustitelný, můžeme použít jednu z následujících konstrukcí:
chmod +x soubor
nebo\
chmod 777 soubor
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/