Ustawianie własnych opcji umask w systemie macOS

Do każdego pliku i folderu na komputerze Mac jest przypisany zestaw uprawnień. Opcja umask określa te uprawnienia podczas tworzenia nowego pliku lub folderu.

Te zaawansowane instrukcje są przeznaczone głównie dla administratorów systemu i innych użytkowników potrafiących obsługiwać wiersz polecenia. Podczas zmieniania opcji umask i uprawnień dotyczących plików należy zachować ostrożność. W przypadku popełnienia błędu możesz obniżyć poziom zabezpieczeń plików, folderów lub aplikacji na komputerze Mac albo uniemożliwić działanie aplikacji.

Informacje o uprawnieniach i opcjach umask

Uprawnienia. Do każdego pliku, folderu i aplikacji na komputerze Mac przypisane są ustawienia uprawnień określające konta użytkowników, które mogą odczytywać lub uruchamiać plik, folder lub aplikację bądź w nich zapisywać. Te uprawnienia obejmują uprawnienia POSIX i listy kontroli dostępu (ACL, Access Control List). Aby zmienić uprawnienia POSIX użytkownika na bardziej lub mniej restrykcyjne, można dostosować wartość opcji umask.

Opcje umask. Uprawnienia POSIX dla pliku mogą być reprezentowane za pomocą trzycyfrowej liczby. Uprawnienia przedstawiane w ten sposób są widoczne w programie Terminal. Każda cyfra jest z zakresu 0–7. Podczas tworzenia pliku wartość opcji umask jest odejmowana od wartości domyślnej (zwykle 666 dla plików i 777 dla folderów) w celu określenia uprawnień do nowego pliku lub folderu. Na przykład domyślna wartość opcji umask 022 powoduje ustawienie uprawnień 644 dla nowych plików i 755 dla nowych folderów. 

Opcję umask można ustawić w kilku różnych lokalizacjach — każda z nich ma wpływ na inne aplikacje. Nieprawidłowe ustawienie tej opcji może spowodować utratę dostępu do plików lub przyznanie dostępu innym użytkownikom. Zobacz sekcję MODES (TRYBY) na stronie podręcznika użytkownika narzędzia chmod(1), aby uzyskać więcej informacji.

Opcje umask dotyczące aplikacji użytkownika

Zaloguj się jako administrator i wprowadź następujące polecenie w programie Terminal, zastępując pozycję nnn wartością opcji umask, np. 027 lub 002. To polecenie pozwala ustawić opcję umask użytkownika dla każdej otwieranej aplikacji, łącznie z aplikacjami uruchamianymi z poziomu wiersza poleceń i nowymi plikami, które są przez nie tworzone. Po wprowadzeniu tego polecenia może być konieczne ponowne uruchomienie komputera Mac. 

sudo launchctl config user umask nnn

Jeśli w programie Terminal zostanie wyświetlony komunikat „Could not write configuration: No such file or directory” (Nie można było zapisać konfiguracji: brak takiego pliku lub katalogu), upewnij się, że na dysku startowym znajduje się folder w lokalizacji /private/var/db/com.apple.xpc.launchd/config. Jeśli brakuje folderu config, spróbuj ponownie po wprowadzeniu następującego polecenia w celu jego utworzenia:

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

Opcje umask dotyczące procesów systemowych

Zaloguj się jako administrator i wprowadź następujące polecenie w programie Terminal, zastępując pozycję nnn wartością opcji umask, np. 027 lub 002. To polecenie pozwala ustawić opcję umask użytkownika dla każdego demona uruchamianego w kontekście systemu. Jest to stanowczo niezalecane, ponieważ może spowodować zmianę uprawnień do plików używanych przez system. Zbyt restrykcyjne uprawnienia mogą uniemożliwić działanie oprogramowania, a zbyt otwarte — powodować problemy z zabezpieczeniami. Po wprowadzeniu tego polecenia może być konieczne ponowne uruchomienie komputera Mac. 

sudo launchctl config system umask nnn

Jeśli w programie Terminal zostanie wyświetlony komunikat „Nie można było zapisać konfiguracji: Brak takiego pliku lub katalogu”, upewnij się, że na dysku startowym znajduje się folder w lokalizacji /private/var/db/com.apple.xpc.launchd/config. Jeśli brakuje folderu config, spróbuj ponownie po wprowadzeniu następującego polecenia w celu jego utworzenia:

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

Więcej informacji

Aby uzyskać więcej informacji na temat ustawiania opcji umask, wprowadź polecenie man launchctl w programie Terminal.

Data publikacji: