.\" -*- coding: UTF-8 -*-
.\" Copyright (c) 2006, 2008, Michael Kerrisk <mtk.manpages@gmail.com>
.\" (A few fragments remain from an earlier (1992) version written in
.\" 1992 by Drew Eckhardt <drew@cs.colorado.edu>.)
.\"
.\" SPDX-License-Identifier: Linux-man-pages-copyleft
.\"
.\" Modified by Michael Haardt <michael@moria.de>
.\" Modified Sat Jul 24 12:51:53 1993 by Rik Faith <faith@cs.unc.edu>
.\" Modified Tue Oct 22 22:39:04 1996 by Eric S. Raymond <esr@thyrsus.com>
.\" Modified Thu May  1 06:05:54 UTC 1997 by Nicolás Lichtmaier
.\"  <nick@debian.com> with Lars Wirzenius <liw@iki.fi> suggestion
.\" 2006-05-13, mtk, substantial rewrite of description of 'mask'
.\" 2008-01-09, mtk, a few rewrites and additions.
.\"*******************************************************************
.\"
.\" This file was generated with po4a. Translate the source file.
.\"
.\"*******************************************************************
.TH umask 2 "2 maja 2024 r." "Linux man\-pages 6.9.1" 
.SH NAZWA
umask \- ustawia maskę uprawnień tworzonych plików
.SH BIBLIOTEKA
Standardowa biblioteka C (\fIlibc\fP, \fI\-lc\fP)
.SH SKŁADNIA
.nf
\fB#include <sys/stat.h>\fP
.P
\fBmode_t umask(mode_t \fP\fImask\fP\fB);\fP
.fi
.SH OPIS
\fBumask\fP() ustawia maskę uprawnień procesu wywołującego, używaną podczas
tworzenia plików (umask) na \fImask\fP & 0777 (tj. używane są tylko bity
uprawnień dostępu do pliku z \fImask\fP) i zwraca poprzednią wartość maski.
.P
.\" e.g., mkfifo(), creat(), mknod(), sem_open(), mq_open(), shm_open()
.\" but NOT the System V IPC *get() calls
Maska umask jest używana przez \fBopen\fP(2), \fBmkdir\fP(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
\fImode\fP do \fBopen\fP(2) i \fBmkdir\fP(2).
.P
Alternatywnie, jeśli katalog nadrzędny ma domyślne listy kontroli dostępu
(ACL); zob. \fBacl\fP(5)), umask jest ignorowana, dziedziczone są domyślne ACL,
bity uprawnień są ustawiane w oparciu o dziedziczone ACL, a bity uprawnień
nieobecne w argumencie \fImode\fP są wyłączane. Przykładowo, następujące
domyślne ACL są równoważne umask 022:
.P
.in +4n
.EX
u::rwx,g::r\-x,o::r\-x
.EE
.in
.P
Łącząc efekt tych domyślnych ACL z argumentem \fImode\fP wynoszącym 0666
(rw\-rw\-rw\-), wynikowym uprawnieniem pliku byłoby 0644 (rw\-r\-\-r\-\-).
.P
Stałe, których należy używać do podawania \fImask\fP, są opisane w podręczniku
\fBinode\fP(7).
.P
Typową wartością domyślną dla umask procesu jest \fBS_IWGRP\fP | \fBS_IWOTH\fP
(ósemkowe 022). W standardowym przypadku, gdy argument \fImode\fP do \fBopen\fP(2)
określono jako:
.P
.in +4n
.EX
\fBS_IRUSR\fP | \fBS_IWUSR\fP | \fBS_IRGRP\fP | \fBS_IWGRP\fP | \fBS_IROTH\fP | \fBS_IWOTH\fP
.EE
.in
.P
(ósemkowe 0666) przy tworzeniu nowego pliku, uprawnienia pliku wynikowego
będą wynosiły:
.P
.in +4n
.EX
\fBS_IRUSR\fP | \fBS_IWUSR\fP | \fBS_IRGRP\fP | \fBS_IROTH\fP
.EE
.in
.P
(ponieważ 0666 & \[ti]022 = 0644; tj. rw\-r\-\-r\-\-).
.SH "WARTOŚĆ ZWRACANA"
Ta funkcja systemowa zawsze kończy się pomyślnie i zwraca poprzednią wartość
maski.
.SH STANDARDY
POSIX.1\-2008.
.SH HISTORIA
POSIX.1\-2001, SVr4, 4.3BSD.
.SH UWAGI
Proces potomny utworzony za pomocą \fBfork\fP(2) dziedziczy umask swojego
rodzica. Umask nie jest zmieniana przez \fBexecve\fP(2).
.P
Nie da się wykorzystać \fBumask\fP() do pobrania umask procesu, bez jego
zmiany. W takim przypadku, konieczne byłoby zatem drugie wywołanie
\fBumask\fP(), 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.
.P
Od Linuksa 4.7, umask dowolnego procesu można obejrzeć w polu \fIUmask\fP w
pliku \fI/proc/\fPpid\fI/status\fP. Sprawdzenie tego pola w \fI/proc/self/status\fP
pozwala procesowi na pobranie swojej umask, bez jej zmieniania.
.P
Ustawienie umask wpływa również na uprawnienia przypisane do obiektów IPC
POSIX (\fBmq_open\fP(3), \fBsem_open\fP(3), \fBshm_open\fP(3)), FIFO (\fBmkfifo\fP(3))
oraz gniazd domeny Uniksa (\fBunix\fP(7)) tworzonych przez proces. Maska umask
nie wpływa na uprawnienia przypisane do obiektów IPC Systemu\ V tworzonych
przez proces (za pomocą \fBmsgget\fP(2), \fBsemget\fP(2), \fBshmget\fP(2)).
.SH "ZOBACZ TAKŻE"
\fBchmod\fP(2), \fBmkdir\fP(2), \fBopen\fP(2), \fBstat\fP(2), \fBacl\fP(5)
.PP
.SH 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>
.
.PP
Niniejsze tłumaczenie jest wolną dokumentacją. Bliższe informacje o warunkach
licencji można uzyskać zapoznając się z
.UR https://www.gnu.org/licenses/gpl-3.0.html
GNU General Public License w wersji 3
.UE
lub nowszej. Nie przyjmuje się ŻADNEJ ODPOWIEDZIALNOŚCI.
.PP
Błędy w tłumaczeniu strony podręcznika prosimy zgłaszać na adres listy
dyskusyjnej
.MT manpages-pl-list@lists.sourceforge.net
.ME .
