Příkaz umask mění výchozí oprávnění k nově vytvořeným souborům a adresářům. Změna výchozích oprávnění může být užitečná, pokud chcete automaticky řídit, jak lze používat nové objekty, místo abyste tato oprávnění měnili ručně u každého nového objektu.
Pomocí umask nastavíte výchozí oprávnění pomocí osmičkového číselného formátu. Místo určení, která oprávnění nastavit, však určíte, která oprávnění se mají maskovat nebo vymazat z výchozího nastavení. Například výchozí oprávnění pro nespustitelné soubory v Linuxu jsou 666 (rw-rw-rw-). Pokud chcete, aby si vlastník ponechal tato oprávnění, ale chcete, aby skupina a ostatní měli přístup pouze pro čtení, budete muset nastavit umask na 022. Každé číslo je vysvětleno následovně, v pořadí:
- 0 znamená, že oprávnění aktuálního vlastníka by neměla být vůbec maskována, tj. ponechána jako čtení a zápis.
- 2 znamená, že oprávnění skupiny by měla být maskována 2, tj. odečíst 2 od výchozích (6) a dostanete 4. Členové skupiny mají nyní přístup pouze pro čtení.
- 2 dělá to samé jako předchozí číslo, ale pro ostatní uživatele.
K nastavení výchozích oprávnění pro danou relaci můžete použít příkaz umask přímo v CLI, nebo můžete nastavit výchozí oprávnění pro každého uživatele v jeho souboru .bashrc.
Poznámka :Protože příkaz umask odečítá od výchozí hodnoty (666), nemůže přinutit nově vytvořené soubory k nastavení bitu spuštění.
Syntaxe
Syntaxe příkazu umask je:
$ umask {number}
Pokud při provádění příkazu umask narazíte na níže uvedenou chybu:
umask: command not found
můžete zkusit nainstalovat níže uvedený balíček podle vaší volby distribuce:
Distribuce | Příkaz |
---|---|
OS X | brew install bash |
Debian | apt-get install execline |
Ubuntu | apt-get install execline |
Alpine | apk přidat bash |
Arch Linux | pacman -S bash |
Kali Linux | apt-get install execline |
CentOS | yum instalační bash |
Fedora | dnf install bash |
Raspbian | apt-get install bash |
Příklady příkazů umask
1. Zobrazte aktuální masku v osmičkovém zápisu:
# umask
2. Zobrazte aktuální masku v symbolickém (člověkem čitelném) režimu:
# umask -S
3. Symbolicky změňte masku, abyste povolili oprávnění ke čtení pro všechny uživatele (zbytek bitů masky se nezměnil):
# umask a+r
4. Nastavte masku (pomocí osmičkové soustavy), aby neomezovala žádná oprávnění pro vlastníka souboru a omezovala všechna oprávnění pro všechny ostatní:
# umask 077