Provided by: manpages-de-dev_4.27.0-1_all bug

BEZEICHNUNG

       umask - Dateimodus-Erstellungsmaske setzen

BIBLIOTHEK

       Standard-C-Bibliothek (libc, -lc)

ÜBERSICHT

       #include <sys/stat.h>

       mode_t umask(mode_t Maske);

BESCHREIBUNG

       umask()  setzt  die  Dateimodus-Erstellungsmaske (Umask) des aufrufenden Prozesses auf Maske & 0777 (d.h.
       nur die Dateiberechtigungsbits von Maske werden verwendet) und liefert  den  vorherigen  Wert  der  Maske
       zurück.

       Die  Umask  wird  für open(2), mkdir(2) und andere Systemaufrufe verwendet, die Dateien erstellen, um die
       Rechte auf neu erstellte Dateien oder Verzeichnisse zu verändern. Insbesondere werden die Rechte  in  der
       Umask von den mode-Argumenten für open(2) und mkdir(2) abgestellt.

       Alternativ  wird  die  Umask ignoriert, falls das Elternverzeichnis eine Standard-ACL hat (siehe acl(5)),
       die Standard-ACL wird vererbt, die Berechtigungsbits werden basierend auf der vererbten ACL  gesetzt  und
       die  Berechtigungsbits, die im Argument mode fehlen, werden abgeschaltet. Beispielsweise ist die folgende
       Standard-ACL äquivalent zu einer Umask 022:

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

       Wird der Effekt dieser Standard-ACL mit dem Argument  mode  von  0666  (rw-rw-rw-)  kombiniert,  ist  die
       resultierende Dateiberechtigung 0644 (rw-r--r--).

       Die Konstanten, die für die Angabe von Maske verwendet werden sollen, werden in inode(7) beschrieben.

       Der  typische Vorgabewert für die Prozess-Umask ist S_IWGRP | S_IWOTH (oktal 022). Im normalen Fall, wenn
       das Argument mode bei open(2) als

           S_IRUSR | S_IWUSR | S_IRGRP | S_IWGRP | S_IROTH | S_IWOTH

       (oktal 0666)  bei  der  Erstellung  einer  neuen  Datei  angegeben  wurde,  werden  die  Rechte  für  die
       entstehendene Datei

           S_IRUSR | S_IWUSR | S_IRGRP | S_IROTH

       sein (da 0666 & ~022 = 0644; d.h. rw-r--r--).

RÜCKGABEWERT

       Der Systemaufruf hat immer Erfolg und der vorherige Wert der Maske wird zurückgegeben.

STANDARDS

       POSIX.1-2008.

GESCHICHTE

       POSIX.1-2001, SVr4, 4.3BSD.

ANMERKUNGEN

       Ein  Kindprozess, der mit fork(2) erstellt wird, erbt die Umask des Elternprozesses. Die Umask bleibt bei
       execve(2) unverändert.

       Es ist unmöglich, die Umask eines Prozesses mit  umask()  auszulesen,  ohne  sie  dabei  gleichzeitig  zu
       verändern. Ein zweiter Aufruf von umask() wäre dann notwendig, um die Umask wieder herzustellen. Da diese
       beiden  Schritte  keine  atomaren  Operationen sind, gibt es in Multithreading-Programmen die Möglichkeit
       einer Race-Condition.

       Seit Linux 4.7 kann die Umask jedes Prozesses in dem Feld Umask von /proc/PID/status  betrachtet  werden.
       Prüfung  des  Feldes  in  /proc/self/status  erlaubt  es  einem Prozess, seine Umask abzufragen, ohne sie
       gleichzeitig zu ändern.

       Die Umask-Einstellung beeinflusst auch die Berechtigungen der vom  Prozess  erstellten  POSIX-IPC-Objekte
       (mq_open(3),  sem_open(3),  shm_open(3)),  FIFOs (mkfifo(3)) und UNIX-Domain-Sockets (unix(7)). Die Umask
       beeinflusst nicht die Berechtigungen, die den vom Prozess (mittels msgget(2),  semget(2)  und  shmget(2))
       erzeugten System-V-IPC-Objekten zugewiesen wurden.

SIEHE AUCH

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

ÜBERSETZUNG

       Die  deutsche  Übersetzung  dieser  Handbuchseite  wurde  von  Martin  Schulze <joey@infodrom.org>, Helge
       Kreutzmann <debian@helgefjell.de>, Martin Eberhard Schauer <Martin.E.Schauer@gmx.de>,  Mario  Blättermann
       <mario.blaettermann@gmail.com> und Dr. Tobias Quathamer <toddy@debian.org> erstellt.

       Diese  Übersetzung ist Freie Dokumentation; lesen Sie die GNU General Public License Version 3 oder neuer
       bezüglich der Copyright-Bedingungen. Es wird KEINE HAFTUNG übernommen.

       Wenn Sie Fehler in der Übersetzung dieser Handbuchseite finden, schicken Sie bitte  eine  E-Mail  an  die
       Mailingliste der Übersetzer: debian-l10n-german@lists.debian.org.

Linux man-pages 6.9.1                              2. Mai 2024                                          umask(2)