Umask
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 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 : 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. A l'inverse, le umask 0000 ne supprime aucun droit. UtilisationLa 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
Notes et référencesVoir aussi |