accueil > Gestion des fichiers et répertoires > umask

Guide de la commande umask : Configuration des permissions par défaut des fichiers/dossiers nouvellement créés

`umask` (user file-creation mode mask) est utilisé pour contrôler les permissions d'accès par défaut des fichiers et des dossiers nouvellement créés dans les systèmes d'exploitation Linux et Unix. En définissant un masque de restriction des permissions qui est automatiquement appliqué lors de la création de fichiers, il joue un rôle important dans le renforcement de la sécurité en empêchant la création de fichiers avec des permissions trop larges. Apprenez le concept et l'utilisation de `umask` à travers ce guide.

Aperçu de umask

Le système d'exploitation attribue des permissions par défaut lors de la création de nouveaux fichiers ou dossiers. La valeur `umask` est 'exclue' de cette permission par défaut pour déterminer les permissions finales. `umask` est important d'un point de vue de sécurité, par exemple pour empêcher la création de fichiers de configuration importants avec des permissions trop ouvertes. Chaque session utilisateur peut avoir une valeur `umask` différente, généralement définie dans des fichiers d'initialisation de shell tels que `.bashrc` ou `.profile`.

Fonctionnement de umask

`umask` est une valeur de masque qui spécifie **les permissions à 'exclure', et non pas celles que l'on souhaite autoriser**. En d'autres termes, les permissions finales sont déterminées en soustrayant la valeur `umask` des permissions maximales par défaut.

Permissions maximales par défaut

  • Fichier: `666` (lecture et écriture, pas d'exécution)
  • Dossier: `777` (comprend les permissions de lecture, écriture et exécution)

Méthode de calcul de umask

`umask` s'exprime sous la forme d'un nombre octal à 3 chiffres (ex : `022`, `002`). Cette valeur est appliquée dans l'ordre : propriétaire (User), groupe (Group), autres (Others). Chaque chiffre représente la somme des bits de permission (lecture=4, écriture=2, exécution=1). Les permissions finales sont calculées comme suit :

Exemple de calcul de umask (umask 022) Voyons comment les permissions finales sont déterminées à partir de l'exemple courant de `umask 022`.
Type Permissions maximales par défaut umask Permissions finales
Fichier 666 (rw-rw-rw-) 022 (--w--w-) 644 (rw-r--r--)
Dossier 777 (rwxrwxrwx) 022 (--w--w-) 755 (rwxr-xr-x)

Valeurs umask courantes

Dans la plupart des systèmes, la valeur par défaut de `umask` est `0022` ou `0002`. Le `0` au début correspond aux permissions spéciales (sticky bit, SGID, SUID) et est généralement réglé à `0`.

Signification des valeurs umask courantes

  • `umask 022`: Les fichiers sont créés avec les permissions `644`(rw-r--r--), les dossiers avec `755`(rwxr-xr-x). Cela accorde toutes les permissions au propriétaire, et les permissions de lecture et d'exécution au groupe et aux autres utilisateurs, ce qui est la configuration la plus courante.
  • `umask 002`: Les fichiers sont créés avec les permissions `664`(rw-rw-r--), les dossiers avec `775`(rwxrwxr-x). Cela permet aux utilisateurs du même groupe d'avoir également des permissions d'écriture, favorisant ainsi la collaboration au sein du groupe.
  • `umask 077`: Les fichiers sont créés avec les permissions `600`(rw-------), les dossiers avec `700`(rwx------). C'est une configuration de permissions très stricte, interdisant tout accès en dehors du propriétaire. Idéal pour les fichiers ou dossiers personnels où la sécurité est très importante.

Options principales de la commande umask

`umask` est utilisé pour vérifier la valeur actuelle ou définir une nouvelle valeur. Utilisé sans option, il affiche la valeur actuelle de `umask`.

1. Vérifier et définir la valeur umask

Commande générée :

Essayez de combiner les commandes.

Description:

`umask` Exécute la commande.

Essayez d'exécuter virtuellement les commandes avec l'IA en combinant les options ci-dessus.

Exemples d'utilisation

Apprenez à vérifier et à définir les permissions par défaut des fichiers et des dossiers nouvellement créés à travers divers exemples d'utilisation de la commande `umask`.

Vérifier la valeur actuelle de umask

umask

Vérifiez la valeur de `umask` de la session shell actuelle sous forme octale (ex : `0022`).

Vérifier la valeur de umask en mode symbolique

umask -S

Vérifiez la valeur de `umask` sous forme de permissions finalement autorisées, comme 'u=rwx,g=rx,o=rx', au lieu de l'octale.

Définir umask à 002

umask 002

Changez `umask` pour que les fichiers nouvellement créés aient les permissions `664`(rw-rw-r--), et les dossiers les permissions `775`(rwxrwxr-x). (Autorise les utilisateurs du même groupe à écrire)

Définir une valeur umask stricte à 077

umask 077

Changez `umask` pour que les fichiers nouvellement créés aient les permissions `600`(rw-------), et les dossiers les permissions `700`(rwx------). Personne ne peut y accéder excepté le propriétaire.

Vérifier les permissions de création de fichiers/dossiers après modification de umask

umask 002
touch test_file_002.txt
mkdir test_dir_002
ls -l test_file_002.txt test_dir_002

Après avoir défini `umask` à `002`, créez de nouveaux fichiers et dossiers pour vérifier si les permissions modifiées sont appliquées avec `ls -l`.


Commandes de la même catégorie