1. NOM

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

2. SYNOPSIS

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

mode_t umask(mode_t mask);

3. 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. Ce masque est utilisé par open(2), mkdir(2) et autres pour positionner les permissions d'accès initiales sur les fichiers nouvellement créés. Les bits contenus dans l'umask sont éliminés de l'argument mode de l'appel open(2) ou mkdir(2). Les constantes à utiliser pour indiquer mask sont décrites dans stat(2). 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électionnez
    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électionnez
    S_IRUSR | S_IWUSR | S_IRGRP | S_IROTH

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

4. VALEUR RENVOYÉE

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

5. CONFORMITÉ

SVr4, BSD 4.3, POSIX.1-2001.

6. NOTES

Un processus fils créé par fork(2) hérite de l'umask de son père. L'umask est conservé après un execve(2). La configuration de l'umask affecte également les permissions des objets IPC POSIX (mq_open(3), sem_open(3), shm_open(3)), FIFO (mkfifo(3)), et 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)).

7. VOIR AUSSI

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

8. COLOPHON

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

9. TRADUCTION

Depuis 2010, cette traduction est maintenue à l'aide de l'outil po4a <http://po4a.alioth.debian.org/> par l'équipe de traduction francophone au sein du projet perkamon <http://perkamon.alioth.debian.org/>.

Christophe Blaess <http://www.blaess.fr/christophe/> (1996-2003), Alain Portal <http://manpagesfr.free.fr/> (2003-2006). Julien Cristau et l'équipe francophone de traduction de Debian (2006-2009).

Veuillez signaler toute erreur de traduction en écrivant à <>.

Vous pouvez toujours avoir accès à la version anglaise de ce document en utilisant la commande « LC_ALL=C man <section> <page_de_man> ».