Man page - umask(2)

Packages contains this manual

Available languages:

en fr it pl nl ja ru ro de

Manual

umask

NAZWA
BIBLIOTEKA
SKŁADNIA
OPIS
WARTOŚĆ ZWRACANA
STANDARDY
HISTORIA
UWAGI
ZOBACZ TAKŻE
TŁUMACZENIE

NAZWA

umask - ustawia maskę uprawnień tworzonych plików

BIBLIOTEKA

Standardowa biblioteka C ( libc , -lc )

SKŁADNIA

#include <sys/stat.h>

mode_t umask(mode_t mask );

OPIS

umask () ustawia maskę uprawnień procesu wywołującego, używaną podczas tworzenia plików (umask) na mask & 0777 (tj. używane są tylko bity uprawnień dostępu do pliku z mask ) i zwraca poprzednią wartość maski.

Maska umask jest używana przez open (2), mkdir (2) i inne wywołania systemowe tworzące pliki, do modyfikacji uprawnień nowo tworzonych plików lub katalogów. W szczególności, uprawnienia z umask są wyłączane z argumentu mode do open (2) i mkdir (2).

Alternatywnie, jeśli katalog nadrzędny ma domyślne listy kontroli dostępu (ACL); zob. acl (5)), umask jest ignorowana, dziedziczone są domyślne ACL, bity uprawnień są ustawiane w oparciu o dziedziczone ACL, a bity uprawnień nieobecne w argumencie mode są wyłączane. Przykładowo, następujące domyślne ACL są równoważne umask 022:

u::rwx,g::r-x,o::r-x

Łącząc efekt tych domyślnych ACL z argumentem mode wynoszącym 0666 (rw-rw-rw-), wynikowym uprawnieniem pliku byłoby 0644 (rw-r--r--).

Stałe, których należy używać do podawania mask , są opisane w podręczniku inode (7).

Typową wartością domyślną dla umask procesu jest S_IWGRP | S_IWOTH (ósemkowe 022). W standardowym przypadku, gdy argument mode do open (2) określono jako:

S_IRUSR | S_IWUSR | S_IRGRP | S_IWGRP | S_IROTH | S_IWOTH

(ósemkowe 0666) przy tworzeniu nowego pliku, uprawnienia pliku wynikowego będą wynosiły:

S_IRUSR | S_IWUSR | S_IRGRP | S_IROTH

(ponieważ 0666 & ~022 = 0644; tj. rw-r--r--).

WARTOŚĆ ZWRACANA

Ta funkcja systemowa zawsze kończy się pomyślnie i zwraca poprzednią wartość maski.

STANDARDY

POSIX.1-2008.

HISTORIA

POSIX.1-2001, SVr4, 4.3BSD.

UWAGI

Proces potomny utworzony za pomocą fork (2) dziedziczy umask swojego rodzica. Umask nie jest zmieniana przez execve (2).

Nie da się wykorzystać umask () do pobrania umask procesu, bez jego zmiany. W takim przypadku, konieczne byłoby zatem drugie wywołanie umask (), aby przywrócić pierwotną wartość umask. Ze względu na to, że te dwa kroki nie są niepodzielne, występuje tu możliwa sytuacja wyścigu w programach wielowątkowych.

Od Linuksa 4.7, umask dowolnego procesu można obejrzeć w polu Umask w pliku /proc/ pid /status . Sprawdzenie tego pola w /proc/self/status pozwala procesowi na pobranie swojej umask, bez jej zmieniania.

Ustawienie umask wpływa również na uprawnienia przypisane do obiektów IPC POSIX ( mq_open (3), sem_open (3), shm_open (3)), FIFO ( mkfifo (3)) oraz gniazd domeny Uniksa ( unix (7)) tworzonych przez proces. Maska umask nie wpływa na uprawnienia przypisane do obiektów IPC Systemu V tworzonych przez proces (za pomocą msgget (2), semget (2), shmget (2)).

ZOBACZ TAKŻE

chmod (2), mkdir (2), open (2), stat (2), acl (5)

TŁUMACZENIE

Tłumaczenie niniejszej strony podręcznika: Przemek Borys <pborys@dione.ids.pl>, Andrzej Krzysztofowicz <ankry@green.mf.pg.gda.pl> i Michał Kułach <michal.kulach@gmail.com>

Niniejsze tłumaczenie jest wolną dokumentacją. Bliższe informacje o warunkach licencji można uzyskać zapoznając się z GNU General Public License w wersji 3 lub nowszej. Nie przyjmuje się ŻADNEJ ODPOWIEDZIALNOŚCI.

Błędy w tłumaczeniu strony podręcznika prosimy zgłaszać na adres listy dyskusyjnej manpages-pl-list@lists.sourceforge.net .