chmod

Rozdíly

Zde můžete vidět rozdíly mezi vybranou verzí a aktuální verzí dané stránky.

Odkaz na výstup diff

chmod [2012/07/15 15:37] – vytvořeno ubuntuchmod [2019/02/25 18:21] (aktuální) – upraveno mimo DokuWiki 127.0.0.1
Řádek 1: Řádek 1:
 +====== 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:
 +<code>
 +-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ář)
 +</code>
 +====== 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:
 +<code>
 +400 + 200 + 100 = 700
 +</code>Skupina může pouze číst:
 +<code>
 +40 + 0 + 0 = 40
 +</code>Svět může pouze číst:
 +<code>
 +4 + 0 + 0 = 4
 +</code>Pro každé oprávnění máme 3 výsledky, abysme získali celkové oprávnění, tyto čísla sečteme:
 +<code>
 +700 + 40 + 4 = 744
 +</code>Nyní už máme výsledek a uplatníme jej na soubor **pokus**:
 +<code>
 +chmod 744 pokus
 +</code>
 +{{.: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í:
 +<code>
 +chmod CISLO soubor
 +</code>===== Spustitelný program =====
 +Pokud chceme aby byl program spustitelný, můžeme použít jednu z následujících konstrukcí:
 +<code>
 +chmod +x soubor
 +</code>nebo\ 
 +<code>
 +chmod 777 soubor
 +</code>
 +===== 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**:
 +<code>
 +chmod 755 -R slozka/
 +</code>