umask(2) System Calls Manual umask(2) NOM umask - Definir le masque de creation de fichiers BIBLIOTHEQUE Bibliotheque C standard (libc, -lc) SYNOPSIS #include mode_t umask(mode_t mask); DESCRIPTION umask() definit le masque de creation de fichiers a la valeur mask & 0777 (c'est-a-dire seuls les bits relatifs aux permissions des fichiers de mask sont utilises) et renvoie la valeur precedente du masque. L'umask est utilise par open(2), mkdir(2) et autres pour positionner les permissions d'acces initiales sur les fichiers ou repertoires nouvellement crees. Plus precisement, les bits contenus dans l'umask sont elimines de l'argument mode de l'appel open(2) ou mkdir(2). Alternativement, si le repertoire parent a une ACL (liste de controle d'acces) par defaut (consultez acl(5)), l'umask est ignore, l'ACL par defaut est heritee, les bits relatifs aux permissions sont regles en se basant sur l'ACL heritee et les bits relatifs aux permissions absents de l'argument mode sont desactives. Par exemple, l'ACL par defaut suivante est equivalente a un umask de 022 : u::rwx,g::r-x,o::r-x En combinant l'effet de cette ACL par defaut avec un argument mode de 0666 (rw-rw-rw-), les permissions de fichier en resultant devraient etre 0644 (rw-r--r--). Les constantes a utiliser pour indiquer mask sont decrites dans inode(7). La valeur par defaut typique pour l'umask d'un processus est S_IWGRP | S_IWOTH (022 en octal). Dans le cas general ou l'argument mode de open(2) est indique comme : S_IRUSR | S_IWUSR | S_IRGRP | S_IWGRP | S_IROTH | S_IWOTH (0666 en octal) a la creation d'un nouveau fichier, les permissions sur le fichier cree seront : S_IRUSR | S_IWUSR | S_IRGRP | S_IROTH (car 0666 & ~022 = 0644, c'est-a-dire rw-r--r--). VALEUR RENVOYEE Cet appel systeme n'echoue jamais et la valeur precedente du masque est renvoyee. STANDARDS POSIX.1-2008. HISTORIQUE POSIX.1-2001, SVr4, 4.3BSD. NOTES Un processus enfant cree par fork(2) herite de l'umask de son parent. L'umask est conserve apres un execve(2). Il est impossible d'utiliser umask() pour recuperer l'umask d'un processus sans le modifier en meme temps. Un second appel a umask() devrait etre alors necessaire pour retablir l'umask. Le caractere non atomique de ces deux etapes rend possible des conditions de concurrence dans un programme multithreade. Depuis Linux 4.7, l'umask d'un processus peut etre vu au moyen du champ Umask de /proc/pid/status. L'introspection de ce champ dans /proc/self/status permet a un processus de recuperer son umask sans le modifier en meme temps. La configuration de l'umask affecte egalement les permissions assignees aux objets IPC POSIX (mq_open(3), sem_open(3), shm_open(3)), FIFO (mkfifo(3)) et aux sockets de domaine UNIX (unix(7)) crees par le processus. L'umask n'affecte pas les permissions des objets IPC System V crees par le processus (en utilisant msgget(2), semget(2), shmget(2)). VOIR AUSSI chmod(2), mkdir(2), open(2), stat(2), acl(5) TRADUCTION La traduction francaise de cette page de manuel a ete creee par Christophe Blaess , Stephan Rafin , Thierry Vignaud , Francois Micaux, Alain Portal , Jean-Philippe Guerard , Jean-Luc Coulon (f5ibh) , Julien Cristau , Thomas Huriaux , Nicolas Francois , Florentin Duneau , Simon Paillard , Denis Barbier , David Prevot et Jean-Pierre Giraud Cette traduction est une documentation libre ; veuillez vous reporter a la GNU General Public License version 3 concernant les conditions de copie et de distribution. Il n'y a aucune RESPONSABILITE LEGALE. Si vous decouvrez un bogue dans la traduction de cette page de manuel, veuillez envoyer un message a . Pages du manuel de Linux 6.9.1 2 mai 2024 umask(2)