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]
Ubuntu vytvořeno
chmod [2019/02/25 18:21] (aktuální)
Řá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>​