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