Příkaz chmod (z anglického change mode) slouží v systému Unix a dalších operačních systémech unixového typu 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.

chmod
Typ softwarustandardní UNIXová utilita či příkaz
Některá data mohou pocházet z datové položky.

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

editovat

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 640 soubor.txt

(majitel může číst i zapisovat, skupina má povolení pouze ke čtení a ostatní žádná práva k souboru soubor.txt)

Symbolický zápis

editovat

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

editovat

Externí odkazy

editovat