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í možná uvidíte, když si je budete prohlížet v aplikaci Terminal. 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 spouštěcím disku je složka /private/var/db/com.apple.xpc.launchd/config. Pokud konfigurační složka 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 spouštěcím disku je složka /private/var/db/com.apple.xpc.launchd/config. Pokud konfigurační složka 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
.