umask(2) Dateimodus-Erstellungsmaske setzen

ÜBERSICHT

#include <sys/types.h>
#include <sys/stat.h>

mode_t umask(mode_t mask);

BESCHREIBUNG

umask() setzt die Dateimodus-Erstellungsmaske (Umask) des aufrufenden Prozesses auf mask & 0777 (d.h. nur die Dateiberechtigungsbits von mask 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.

Alternatively, if the parent directory has a default ACL (see acl(5)), the umask is ignored, the default ACL is inherited, the permission bits are set based on the inherited ACL, and permission bits absent in the mode argument are turned off. For example, the following default ACL is equivalent to a umask of 022:


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

Combining the effect of this default ACL with a mode argument of 0666 (rw-rw-rw-), the resulting file permissions would be 0644 (rw-r--r--).

Die Konstanten, die für die Angabe von mask verwendet werden sollen, werden in stat(2) 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.

KONFORM ZU

POSIX.1-2001, POSIX.1-2008, SVr4, 4.3BSD.

ANMERKUNGEN

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

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 berührt nicht die Berechtigungen, die den vom Prozess (mittels msgget(2), semget(2) und shmget(2)) erzeugten System-V-IPC-Objekten zugewiesen wurden.

KOLOPHON

Diese Seite ist Teil der Veröffentlichung 4.06 des Projekts Linux-man-pages. Eine Beschreibung des Projekts, Informationen, wie Fehler gemeldet werden können sowie die aktuelle Version dieser Seite finden sich unter https://www.kernel.org/doc/man-pages/.

ÜBERSETZUNG

Die deutsche Übersetzung dieser Handbuchseite wurde von Martin Schulze <[email protected]>, Helge Kreutzmann <[email protected]>, Martin Eberhard Schauer <[email protected]> und Mario Blättermann <[email protected]> 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 <[email protected]>.