Nastavení vlastní hodnoty umask v macOS

Každý soubor nebo složka v Macu má sadu oprávnění. Když vytvoříte nový soubor nebo složku, hodnota umask určuje tato nastavení oprávnění.

O oprávněních a hodnotách umask

Tyto pokyny jsou pro podnikové uživatele. Při změně oprávnění k souborům a hodnot umask buďte opatrní. Pokud je nastavíte špatně, může to snížit zabezpečení souborů, složek nebo aplikací v Macu. Některé aplikace by taky mohly přestat fungovat.

Oprávnění

Každý soubor, složka a aplikace, které jsou uložené na startovacím disku nebo připojeném svazku, mají nastavená oprávnění. Oprávnění určují, které uživatelské účty mohou soubor, složku nebo aplikaci číst, které do ní mohou zapisovat a které mohou soubor spouštět. Mezi tato oprávnění patří oprávnění POSIX a seznamy řízení přístupu (ACL). 

Pokud chcete uživatelova oprávnění POSIX omezit nebo rozšířit, můžete upravit jejich hodnotu umask.

Hodnoty umask

Oprávnění POSIX k souboru jde vyjádřit tříciferným číslem. Takto vyjádřená oprávnění možná uvidíte, když si je budete prohlížet v aplikaci Terminal. Každá z číslic je mezi 0 a 7. Když vytvoříte nový soubor nebo složku, hodnota umask se odečte od výchozí hodnoty (ta bývá 666 u souborů a 777 u složek) a podle toho se určí oprávnění nového souboru nebo složky.

Například výchozí hodnota umask 022 nastavuje hodnotu oprávnění 644 u nových souborů a 755 u nových složek. Tato oprávnění umožňují skupinám a dalším uživatelům číst soubory a otevírat složky. Provádět změny ale může jen jejich majitel. 

Než budete pokračovat, ujistěte se, že nastavení hodnot umask rozumíte. Pokud nastavíte hodnotu umask špatně, možná ztratíte přístup k souborům nebo přístup udělíte jiným uživatelům. Další informace najdete v části MODES na stránce návodu chmod(1).

Hodnotu umask můžete nastavit na několika různých umístěních. Každé umístění ovlivňuje jiné aplikace.

Hodnota umask pro uživatelské aplikace v macOS High Sierra, macOS Sierra, OS X El Capitan a OS X Yosemite

V OS X Yosemite 10.10.3 a novějších se přihlaste jako administrátor a spusťte následující příkaz v aplikaci Terminal:

sudo launchctl config user umask nnn

Část nnn nahraďte požadovanou hodnotou umask – třeba 027 nebo 002. Až příkaz provedete, Mac možná bude potřeba restartovat.

Tento příkaz nastavuje uživatelovu hodnotu umask pro každou aplikaci, kterou uživatel otevře – například Finder, TextEdit nebo Final Cut Pro. Nastavuje taky hodnotu umask pro každou aplikaci, ke které uživatel přistoupí přes příkazový řádek. Tato hodnota navíc určí oprávnění, která se nastaví u nových souborů, které tyto aplikace vytvoří.

Pokud se vám zobrazí zpráva, že se konfiguraci nepodařilo zapsat, protože soubor nebo adresář neexistuje, ujistěte se, že máte složku /private/var/db/com.apple.xpc.launchd/config. Pokud složka chybí, vytvořte ji tímto příkazem:

sudo mkdir -m 755 /private/var/db/com.apple.xpc.launchd/config

Až složku vytvoříte, spusťte příkaz sudo launchctl config user umask nnn znova. Další informace o nastavení hodnoty umask v OS X Yosemite získáte, když spustíte příkaz man launchctl.

Hodnota umask pro systémové procesy v OS X Yosemite

V OS X Yosemite 10.10.3 a novějších se přihlaste jako administrátor a spusťte následující příkaz v aplikaci Terminal:

sudo launchctl config system umask nnn

Část nnn nahraďte požadovanou hodnotou umask – třeba 027 nebo 002. Až příkaz provedete, Mac možná bude potřeba restartovat.

Tento příkaz nastaví uživatelovu hodnotu umask u každého démona, kterého uživatel spustí v kontextu systému. Důrazně doporučujeme, abyste tuto hodnotu neměnili, protože to může způsobit změnu oprávnění u souborů, které používá systémový software. Když oprávnění příliš omezíte, závislý software možná nebude fungovat. Pokud oprávnění příliš rozšíříte, může to způsobit problémy se zabezpečením.

Pokud se vám zobrazí zpráva, že se konfiguraci nepodařilo zapsat, protože soubor nebo adresář neexistuje, ujistěte se, že máte složku /private/var/db/com.apple.xpc.launchd/config. Pokud složka chybí, vytvořte ji tímto příkazem:

sudo mkdir -m 755 /private/var/db/com.apple.xpc.launchd/config

Další informace o nastavení hodnoty umask v OS X Yosemite získáte, když spustíte příkaz man launchctl.

Hodnota umask pro uživatelské aplikace v OS X Mavericks a dřívějších

V OS X Mavericks a dřívějších vytvořte soubor /etc/launchd-user.conf, který obsahuje hodnotu umask nnn. Část nnn nahraďte požadovanou hodnotou umask – třeba 027 nebo 002. To nastaví uživatelovu hodnotu umask pro každou aplikaci, kterou uživatel otevře – například Finder, TextEdit nebo Final Cut Pro. Navíc to určí oprávnění, která se nastaví u nových souborů, které tyto aplikace vytvoří.

Jestli používáte OS X Lion, měli byste aktualizovat na verzi OS X Lion 10.7.4 nebo novější. Po aktualizaci bude uživatelská hodnota umask platit pro soubory a složky, které vytvoříte ve Finderu.

Hodnota umask pro systémové procesy v OS X Mavericks a dřívějších

Ve verzích OS X, které předcházejí Yosemite, vytvořte soubor /etc/launchd.conf obsahující hodnotu umask nnn. Část nnn nahraďte požadovanou hodnotou umask – třeba 027 nebo 002. Tím nastavíte hodnotu umask pro každý proces. Důrazně doporučujeme, abyste tuto hodnotu neměnili, protože to způsobí změnu oprávnění u souborů, které používá systémový software. Když oprávnění příliš omezíte, závislý software možná nebude fungovat. Pokud oprávnění příliš rozšíříte, může to způsobit problémy se zabezpečením.

Umask pro specifický LaunchAgent nebo LaunchDaemon

V Macu OS X 10.4 a novějších můžou pokročilí správci nastavit samostatnou hodnotu umask pro konkrétní LaunchAgent nebo LaunchDaemon. To udělají tak, že přidají hodnotu umask souboru launchd plist. Tím přepíšete nastavení umask v souboru /etc/launchd.conf nebo /etc/launchd-user.conf jen pro daný proces. Další informace o této možnosti získáte, když spustíte příkaz man launchd.plist.

Datum zveřejnění: