chmod

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í

Pokud chceme nastavit specifická práva, doporučuji se naučit následující jednoduchou tabulku:\

*majitelskupinasvět
čtení -r-400040004
zápis -w-200020002
vykonání -x-100010001

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

Pokud chceme aby byl program spustitelný, můžeme použít jednu z následujících konstrukcí:

chmod +x soubor

nebo\

chmod 777 soubor

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/
  • Poslední úprava: 2019/02/25 18:21
  • (upraveno mimo DokuWiki)