====== 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
{{.:info.png}} 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/