chmod
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/