umask

Un article de Wikipédia, l'encyclopédie libre.
Aller à : navigation, rechercher

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 :

umask x

Où x est un nombre exprimé sous forme octale qui déterminera les permissions par complétion (AND) 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).

Le umask le plus courant est 0022, qui donne pour droits aux fichiers :

Calcul de : 06668 AND NOT 00228

00228               = 000 010 0102
NOT 00228           = 111 101 1012
06668               = 110 110 1102
06668 AND NOT 00228 = 110 100 1002
06668 AND NOT 00228 = 06448

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 :

07778 AND NOT 00228 = 07558

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.

Utilisation[modifier | modifier le code]

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.

 $ umask 0022
 $ mkdir repertoire
 $ touch fichier
 $ ls -l
 drwxr-xr-x 2 user user 512 Jan  1 23:59 repertoire
 -rw-r--r-- 1 user user   0 Jan  1 23:59 fichier

Voir aussi[modifier | modifier le code]