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 oprávnění.

Tento pokročilý postup je určený primárně pro správce systému a další uživatele ovládající příkazový řádek. Při změně oprávnění k souborům a hodnot umask buďte opatrní. Pokud uděláte chybu, můžete snížit zabezpečení souborů, složek nebo aplikací v Macu nebo zabránit aplikacím v práci.

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

Oprávnění. Každý soubor, složka a aplikace uložené v Macu mají nastavení oprávnění, která určují, které uživatelské účty mohou číst, zapisovat nebo spouštět soubor, složku nebo aplikaci. 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í uvidíte při práci v okně Terminálu. Každá číslice 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.

Umask můžete nastavit na několika místech a každé umístění ovlivňuje jiné aplikace. Když nastavíte hodnotu umask špatně, můžete ztratit přístup k souborům nebo k nim umožnit přístup jiným uživatelům. Další informace najdete v části MODES na manuálové stránce příkazu chmod(1).

Umask pro uživatelské aplikace

Přihlaste se jako správce a v okně Terminálu zadejte následující příkaz, ve kterém nahraďte nnn požadovanou hodnotou umask, například 027 nebo 002. Tento příkaz nastaví hodnotu umask pro každou aplikaci, kterou uživatel otevře, včetně aplikací, které spustí z příkazového řádku, a nových souborů, které tyto aplikace vytvoří. Po zadání tohoto příkazu bude pravděpodobně nutné Mac restartovat.

sudo launchctl config user umask nnn

Pokud terminál odpoví „Could not write configuration: No such file or directory“ (Nelze zapsat konfiguraci: soubor nebo složka neexistuje), ujistěte se, že na startovacím disku je složka /private/var/db/com.apple.xpc.launchd/config. Pokud složka config chybí, zkuste to znovu poté, co ji vytvoříte následujícím příkazem:

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

Umask pro systémové procesy

Přihlaste se jako správce a v okně Terminálu zadejte následující příkaz, ve kterém nahraďte nnn požadovanou hodnotou umask, například 027 nebo 002. Tento příkaz nastaví uživatelovu hodnotu umask pro každého démona, kterého uživatel spustí v kontextu systému. To se důrazně nedoporučuje, protože to může změnit oprávnění pro soubory, které systém používá. Oprávnění, která jsou příliš omezující, mohou bránit fungování softwaru a příliš otevřená oprávnění zase můžou oslabit zabezpečení. Po zadání tohoto příkazu bude pravděpodobně nutné Mac restartovat.

sudo launchctl config system umask nnn

Pokud terminál odpoví „Could not write configuration: No such file or directory“ (Nelze zapsat konfiguraci: soubor nebo složka neexistuje), ujistěte se, že na startovacím disku je složka /private/var/db/com.apple.xpc.launchd/config. Pokud složka config chybí, zkuste to znovu poté, co ji vytvoříte následujícím příkazem:

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

Další informace

Další informace o tom, jak umask používat, zjistíte v okně Terminálu zadáním příkazu man launchctl.

Datum zveřejnění: