Umask
# Umask

umask (user file creation mode mask, masque de création de fichier par l'utilisateur) est un attribut des processus Unix, ainsi que la commande POSIX qui permet de modifier cet attribut. Le umask définit les permissions par défaut d'un répertoire ou d'un fichier créé.

La syntaxe de la commande est la suivante :

Où x est un nombre exprimé sous forme octale qui déterminera les permissions par complétion de 0666 pour les fichiers et de 0777 pour les répertoires qui seront créés ultérieurement par les appels systèmes creat(2) et mkdir(2), c'est-à-dire que les permissions seront obtenues par l'opération binaire 0777 (ou 0666) AND NOT x. Autrement dit, les bits du masque sont annulés, ce qui signifie que les droits correspondant à ces bits sont supprimés.

Le umask le plus courant est 0022. Il consiste à supprimer les droits d'écriture pour les membres du groupe et les autres sur les fichiers. En effet :

Ces permissions correspondent à rw-r--r--, c'est-à-dire que le propriétaire du fichier a des droits en lecture et en écriture, tandis que les membres du groupe et les autres ne disposent que de la permission de lecture.

Et, de même, aux répertoires :

C'est-à-dire les mêmes droits de lecture/écriture que pour les fichiers, et en plus les droits d'exécution qui pour le cas des répertoires permet de s'y positionner (avec la commande cd par exemple) : rwxr-xr-x.

A l'inverse, le umask 0000 ne supprime aucun droit.

## Utilisation

La commande umask peut être introduite avant chaque création de fichier ou de répertoire, mais une ligne est habituellement insérée dans le fichier d'initialisation du shell.

