Přeskočit na obsah

chmod

Z Wikipedie, otevřené encyklopedie

Příkaz chmod slouží v systému Unix ke změně přístupových práv souboru. Změnit práva souboru může pouze jeho vlastník nebo root. Měnit majitele může pak pouze root.

Práva se udávají číslem v oktalové (osmičkové) soustavě, tj. absolutním zápisem nebo pomocí tzv. symbolického zápisu.

Absolutní zápis

Nejčastěji se zapisuje jako třímístné číslo, kdy první číslice udává práva vlastníka, druhá práva skupiny a třetí pak práva ostatním, přičemž operace spuštění souboru přispívá do celkového součtu vahou 1, zápis vahou 2 a čtení vahou 4. Tím vznikají různé kombinace přístupových práv, jejichž přehled je uveden v následující tabulce:

hodnota právo
0 ---
1 --x
2 -w-
3 -wx
4 r--
5 r-x
6 rw-
7 rwx

Z tabulky vyplývá, že pokud se určité právo vyskytuje, vypíše se jako binární jednička, nepřítomnost práva symbolizuje binární nula.

U tohoto zápisu nelze nic přidat nebo ubrat, ale jen přiřadit všechna práva najednou.

Výsledek pak může vypadat takto: chmod 721 soubor.txt (majitel může číst, zapisovat i spouštět, skupina má povolení pouze k zápisu a ostatní jen ke spuštění souboru soubor.txt)

Symbolický zápis

Tento zápis má na rozdíl od absolutního zápisu tři operátory, a to:

  • WHO - komu se práva mění: u (User - uživatel), g (Group - skupina),o (Others - ostatní), a (All - všem)
  • OP - co se s právy děje: + (přidání), - (odebrání), = (přiřazení)
  • PERM - která práva se mění: r (Read - čtení), w (Write - zápis), x (eXecute - spuštění), X (eXecute - pouze pro adresář nebo pokud je již práva x nastaveno pro některou kategorii - spuštění), s (Setuid, Setgid), t (sTicky)

Výsledkem pak může být například: chmod g-r soubor.txt (skupině odebírám právo na čtení souboru soubor.txt)

Související články

Externí odkazy