chmod
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.
Typ softwaru | standardní 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
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
Související články
Externí odkazy
- chmod – dokumentace k programu v Single UNIX Specification