chmod

Z Multimediaexpo.cz

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, popřípadě skupinu 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.

Obsah

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:

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

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 - jkterá 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