Ustawianie własnych opcji umask w systemie macOS

Do każdego pliku lub folderu na komputerze Mac jest przypisany zestaw uprawnień. Gdy jest tworzony nowy plik lub folder, opcja umask określa ustawienia tych uprawnień.

Informacje o uprawnieniach i opcjach umask

Te instrukcje dotyczą użytkowników w firmach. Podczas zmieniania opcji umask i uprawnień dotyczących plików należy zachować ostrożność. Jeśli zostaną one nieprawidłowo skonfigurowane, poziom zabezpieczeń plików, folderów lub aplikacji na komputerze Mac może zostać obniżony. Ponadto niektóre aplikacje mogą przestać działać.

Uprawnienia

Do każdego pliku, folderu i aplikacji, które są przechowywane na dysku startowym komputera Mac lub na innym podłączonym woluminie, są przypisane ustawienia uprawnień. Uprawnienia określają, które konta użytkowników mogą odczytywać i uruchamiać plik, folder lub aplikację bądź dokonywać w nich zapisu. 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 od zera do siedmiu. 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. Te uprawnienia umożliwiają grupom i innym użytkownikom odczytywanie plików i otwieranie folderów, ale tylko właściciel może wprowadzać zmiany. 

Przed przystąpieniem do kolejnych czynności należy dobrze zrozumieć działanie opcji umask. Nieprawidłowe ustawienie tej opcji może spowodować niezamierzoną 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.

Opcję umask można ustawić w kilku różnych lokalizacjach. Każda lokalizacja ma wpływ na inne aplikacje.

Opcja umask dla aplikacji użytkownika w systemach macOS High Sierra, macOS Sierra, OS X El Capitan i OS X Yosemite

W systemie OS X Yosemite 10.10.3 lub nowszym zaloguj się jako administrator i uruchom następujące polecenie w programie Terminal:

sudo launchctl config user umask nnn

Zastąp ciąg nnn odpowiednią wartością opcji umask, taką jak 027 lub 002. Po uruchomieniu tego polecenia może być konieczne ponowne uruchomienie komputera Mac.

To polecenie pozwala ustawić wartość opcji umask użytkownika dla każdej otwieranej przez niego aplikacji, takiej jak Finder, TextEdit czy Final Cut Pro. Powoduje ono również ustawienie opcji umask dla każdej aplikacji, do której dany użytkownik uzyskuje dostęp z poziomu wiersza polecenia. Ponadto to polecenie pozwala kontrolować uprawnienia ustawiane dla nowych plików tworzonych w tych aplikacjach.

Jeśli zostanie wyświetlony komunikat „Nie można było zapisać konfiguracji: Brak takiego pliku lub katalogu”, upewnij się, że na komputerze znajduje się folder /private/var/db/com.apple.xpc.launchd/config. Jeśli nie ma tego folderu, utwórz go za pomocą następującego polecenia:

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

Po utworzeniu tego folderu ponownie uruchom polecenie sudo launchctl config user umask nnn. Aby uzyskać więcej informacji na temat ustawiania opcji umask w systemie OS X Yosemite, uruchom polecenie man launchctl.

Opcja umask dla procesów systemowych w systemie OS X Yosemite

W systemie OS X Yosemite 10.10.3 lub nowszym zaloguj się jako administrator i uruchom następujące polecenie w programie Terminal:

sudo launchctl config system umask nnn

Zastąp ciąg nnn odpowiednią wartością opcji umask, taką jak 027 lub 002. Po uruchomieniu tego polecenia może być konieczne ponowne uruchomienie komputera Mac.

To polecenie pozwala ustawić opcję umask użytkownika dla każdego demona uruchamianego w kontekście systemu. Modyfikowanie tej wartości jest stanowczo niezalecane, ponieważ może ona wpływać na uprawnienia do plików używanych przez oprogramowanie systemowe. W przypadku ustawienia zbyt restrykcyjnych uprawnień zależne oprogramowanie może przestać działać. Natomiast ustawienie zbyt otwartych uprawnień może spowodować problemy z zabezpieczeniami.

Jeśli zostanie wyświetlony komunikat „Nie można było zapisać konfiguracji: Brak takiego pliku lub katalogu”, upewnij się, że na komputerze znajduje się folder /private/var/db/com.apple.xpc.launchd/config. Jeśli nie ma tego folderu, utwórz go za pomocą następującego polecenia:

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

Aby uzyskać więcej informacji na temat ustawiania opcji umask w systemie OS X Yosemite, uruchom polecenie man launchctl.

Opcja umask dla aplikacji użytkownika w systemie OS X Mavericks lub starszym

W systemie OS X Mavericks lub starszym utwórz plik /etc/launchd-user.conf zawierający ciąg umask nnn. Zastąp ciąg nnn odpowiednią wartością opcji umask, taką jak 027 lub 002. Pozwala to ustawić opcję umask użytkownika dla każdej otwieranej przez niego aplikacji, takiej jak Finder, TextEdit czy Final Cut Pro. Umożliwia również kontrolowanie uprawnień ustawianych dla nowych plików tworzonych w tych aplikacjach.

W przypadku używania systemu OS X Lion należy uaktualnić go do wersji OS X Lion 10.7.4 lub nowszej. Po uaktualnieniu opcja umask użytkownika zostanie zastosowana do plików i folderów tworzonych w programie Finder.

Opcja umask dla procesów systemowych w systemie OS X Mavericks lub starszym

W wersjach systemu OS X starszych niż Yosemite utwórz plik /etc/launchd.conf zawierający ciąg umask nnn. Zastąp ciąg nnn odpowiednią wartością opcji umask, taką jak 027 lub 002. Spowoduje to ustawienie opcji umask dla każdego procesu. Modyfikowanie tej wartości jest stanowczo niezalecane, ponieważ ma to wpływ na uprawnienia do plików używanych przez oprogramowanie systemowe. W przypadku ustawienia zbyt restrykcyjnych uprawnień zależne oprogramowanie może przestać działać. Natomiast ustawienie zbyt otwartych uprawnień może spowodować problemy z zabezpieczeniami.

Opcje umask określonego procesu LaunchAgent lub LaunchDaemon

W systemie Mac OS X 10.4 lub nowszym doświadczeni administratorzy mogą ustawić oddzielne opcje umask dla określonych procesów LaunchAgent lub LaunchDaemon. W tym celu należy dodać wartość opcji umask do pliku plist launchd. To ustawienie zastępuje ustawienie opcji umask w pliku /etc/launchd.conf lub /etc/launchd-user.conf jedynie dla tego określonego procesu. Aby uzyskać więcej informacji na temat tej opcji, uruchom polecenie man launchd.plist.

Data publikacji: