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.

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:

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 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 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 ( – uživatel), g ( – skupina), o ( – ostatní), a ( – 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 ( – čtení), w ( – zápis), x ( – spuštění), X ( – pouze pro adresář nebo pokud je již práva x nastaveno pro některou kategorii – spuštění), s (), t ()

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 Unix UnixWare UNIX System V Uživatelské účty v Unixu UNIX System III Přístupová práva v Unixu

Externí odkazy

chmod – dokumentace k programu v Single UNIX Specification

Kategorie:Standardní unixové příkazy Kategorie:Oprávnění v systému souborů