Provided by: manpages-fr-dev_4.15.0-9_all bug

NOM

       umask - Définir le masque de création de fichiers

SYNOPSIS

       #include <sys/stat.h>

       mode_t umask(mode_t mask);

DESCRIPTION

       umask()  définit  le  masque de création de fichiers à la valeur mask & 0777 (c'est-à-dire
       seuls les bits relatifs aux permissions des fichiers de mask sont utilisés) et renvoie  la
       valeur précédente du masque.

       L'umask  est  utilisé  par  open(2),  mkdir(2)  et autres pour positionner les permissions
       d'accès initiales sur les fichiers ou répertoires nouvellement  créés.  Plus  précisément,
       les  bits  contenus  dans  l'umask  sont éliminés de l'argument mode de l'appel open(2) ou
       mkdir(2).

       Alternativement, si le répertoire parent a une ACL (liste de contrôle d'accès) par  défaut
       (consultez  acl(5)),  l'umask  est ignoré, l'ACL par défaut est héritée, les bits relatifs
       aux permissions sont réglés en se basant sur  l'ACL  héritée  et  les  bits  relatifs  aux
       permissions  absents  de  l'argument  mode  sont désactivés. Par exemple, l'ACL par défaut
       suivante est équivalente à un umask de 022 :

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

       En combinant l'effet de cette ACL par défaut avec un argument mode  de  0666  (rw-rw-rw-),
       les permissions de fichier en résultant devraient être 0644 (rw-r--r--).

       Les constantes à utiliser pour indiquer mask sont décrites dans inode(7).

       La  valeur  par  défaut  typique pour l'umask d'un processus est S_IWGRP | S_IWOTH (022 en
       octal). Dans le cas général où l'argument mode de open(2) est indiqué comme :

           S_IRUSR | S_IWUSR | S_IRGRP | S_IWGRP | S_IROTH | S_IWOTH

       (0666 en octal) à la création d'un nouveau fichier, les permissions sur  le  fichier  créé
       seront :

           S_IRUSR | S_IWUSR | S_IRGRP | S_IROTH

       (car 0666 & ~022 = 0644, c'est-à-dire rw-r--r--).

VALEUR RENVOYÉE

       Cet appel système n'échoue jamais et la valeur précédente du masque est renvoyée.

CONFORMITÉ

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

NOTES

       Un processus enfant créé par fork(2) hérite de l'umask de son parent. L'umask est conservé
       après un execve(2).

       Il est impossible d'utiliser  umask()  pour  récupérer  l'umask  d'un  processus  sans  le
       modifier  en  même  temps.  Un  second  appel à umask() devrait être alors nécessaire pour
       rétablir l'umask. Le  caractère  non  atomique  de  ces  deux  étapes  rend  possible  des
       conditions de concurrence dans un programme multithreadé.

       Depuis  Linux 4.7,  l'umask  d'un  processus  peut  être  vu  au  moyen  du champ Umask de
       /proc/[pid]/status. L'introspection  de  ce  champ  dans  /proc/self/status  permet  à  un
       processus de récupérer son umask sans le modifier en même temps.

       La  configuration  de  l'umask  affecte également les permissions assignées aux objets IPC
       POSIX (mq_open(3), sem_open(3), shm_open(3)), FIFO (mkfifo(3)) et aux sockets  de  domaine
       UNIX  (unix(7))  créés  par le processus. L'umask n'affecte pas les permissions des objets
       IPC System V créés par le processus (en utilisant msgget(2), semget(2), shmget(2)).

VOIR AUSSI

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

COLOPHON

       Cette page fait partie de la publication 5.13 du projet man-pages Linux.  Une  description
       du  projet et des instructions pour signaler des anomalies et la dernière version de cette
       page peuvent être trouvées à l'adresse https://www.kernel.org/doc/man-pages/.

TRADUCTION

       La traduction française de cette  page  de  manuel  a  été  créée  par  Christophe  Blaess
       <https://www.blaess.fr/christophe/>,  Stéphan  Rafin  <stephan.rafin@laposte.net>, Thierry
       Vignaud <tvignaud@mandriva.com>, François Micaux, Alain  Portal  <aportal@univ-montp2.fr>,
       Jean-Philippe    Guérard   <fevrier@tigreraye.org>,   Jean-Luc   Coulon   (f5ibh)   <jean-
       luc.coulon@wanadoo.fr>,   Julien    Cristau    <jcristau@debian.org>,    Thomas    Huriaux
       <thomas.huriaux@gmail.com>, Nicolas François <nicolas.francois@centraliens.net>, Florentin
       Duneau <fduneau@gmail.com>, Simon Paillard <simon.paillard@resel.enst-bretagne.fr>,  Denis
       Barbier  <barbier@debian.org>,  David  Prévot  <david@tilapin.org>  et  Jean-Pierre Giraud
       <jean-pierregiraud@neuf.fr>

       Cette traduction est une documentation libre ; veuillez vous reporter  à  la  GNU  General
       Public   License   version 3  ⟨https://www.gnu.org/licenses/gpl-3.0.html⟩  concernant  les
       conditions de copie et de distribution. Il n'y a aucune RESPONSABILITÉ LÉGALE.

       Si vous découvrez un bogue dans la traduction de cette page de manuel, veuillez envoyer un
       message à ⟨debian-l10n-french@lists.debian.org⟩.