Présentation
Lors de la création d'un nouveau fichier ou répertoire, Linux applique l'ensemble d'autorisations par défaut. Le umask
La commande vous permet de modifier ces autorisations par défaut.
Dans ce didacticiel, vous apprendrez ce qu'est umask, comment il fonctionne et comment l'utiliser pour configurer les autorisations de fichiers et de répertoires pour des utilisateurs ou des groupes individuels.
Prérequis
- Système basé sur Linux (par exemple, Ubuntu, CentOS, Debian)
- Un compte utilisateur avec des privilèges sudo
- Accès au terminal de commande
Présentation d'Umask
Le terme umask fait référence à deux choses :
1. Le Linux umask
commande. umask
(mode de création de fichier utilisateur) est une commande Linux qui vous permet de configurer les autorisations par défaut pour les fichiers et dossiers nouvellement créés.
2. Un "masque" d'autorisations défini par l'utilisateur. Un utilisateur peut choisir comment restreindre les autorisations en utilisant un masque d'autorisations . Un masque d'autorisation interagit avec les autorisations système par défaut et les modifie. Le umask
La commande est utilisée pour appliquer ce masque.
Comment fonctionne Umask ?
Le umask
La commande fonctionne en affectant les autorisations par défaut des fichiers et dossiers Linux.
Il existe trois catégories d'autorisations pour chaque fichier et dossier sous Linux :
- Utilisateur : Définit les autorisations pour chaque utilisateur individuel. Par défaut, l'utilisateur qui crée un fichier ou un dossier est défini comme propriétaire.
- Groupe : Définit les autorisations pour un groupe d'utilisateurs partageant le même niveau d'accès.
- Autre : Définit les autorisations pour toute personne non incluse dans les deux catégories précédentes.
Utilisez la commande suivante pour vérifier les autorisations du dossier de départ :
ls -l
Chaque ligne de la sortie commence par une chaîne de 10 caractères détaillant les autorisations. En décomposant l'entrée en surbrillance, cette chaîne se compose des éléments suivants :
d
:Indique le type de fichier (répertoire).rwx
: Indique les autorisations de l'utilisateur (lecture, écriture et exécution).r-x
: Indique les autorisations de groupe (lecture et exécution).r-x
:Indique d'autres autorisations (lecture et exécution).
La syntaxe de la commande umask
Utiliser le umask
La commande sans options de commande supplémentaires renvoie le masque actuel en sortie :
Le umask
commande utilise la syntaxe suivante :
umask [-p] [-S] [mask]
Où :
[mask]
:Le nouveau masque d'autorisations que vous appliquez. Par défaut, le masque est présenté sous la forme d'une valeur numérique (octale).[-S]
:Affiche le masque actuel sous forme de valeur symbolique.[-p]
:Affiche le masque actuel avec leumask
commande, permettant de la copier et de la coller en tant que future entrée.
Valeurs umask symboliques et numériques
Comme nous l'avons mentionné dans l'exemple ci-dessus, umask peut être affiché sous forme de valeur numérique (octal) ou symbolique.
Un masque peut avoir les valeurs numériques suivantes et les valeurs symboliques correspondantes :
0 | --- | Aucune autorisation |
1 | --x | Exécuter |
2 | -w- | Écrire |
3 | -wx | Écrire et exécuter |
4 | r-- | Lire |
5 | r-x | Lire et exécuter |
6 | rw- | Lire et écrire |
7 | rwx | Lire, écrire et exécuter |
Comment calculer les valeurs Umask
Linux utilise les valeurs de masque et d'autorisation par défaut suivantes :
- Les valeurs d'autorisation par défaut du système sont 777 (
rwxrwxrwx
) pour les dossiers et 666 (rw-rw-rw-
) pour les fichiers. - Le masque par défaut pour un utilisateur non root est 002, ce qui change les autorisations du dossier en 775 (
rwxrwxr-x
) et les autorisations de fichier à 664 (rw-rw-r--
). - Le masque par défaut pour un utilisateur root est 022, changeant les permissions du dossier en 755 (
rwxr-xr-x
) et les autorisations de fichier à 644 (rw-r--r--
).
Cela nous montre que la valeur d'autorisation finale est le résultat de la soustraction de umask valeur forment la valeur d'autorisation par défaut (777 ou 666).
Par exemple, si vous souhaitez modifier la valeur d'autorisation du dossier de 777 (lecture, écriture et exécution pour tous) à 444 (lecture pour tous), vous devez appliquer un umask valeur de 333, puisque :
777 - 444 = 333
Comment définir et mettre à jour la valeur Umask par défaut
Utilisez la syntaxe suivante pour appliquer un nouveau umask
valeur :
umask [mask]
Où :
[mask]
:Le masque que vous souhaitez appliquer, sous forme de valeur symbolique ou numérique.
Configuration d'une valeur symbolique Umask
Définir un nouveau umask value en utilisant des valeurs symboliques avec la syntaxe suivante :
umask u=#,g=#,o=#
Où :
u
:Indique les autorisations de l'utilisateur.g
: Indique les autorisations de groupe.o
:Indique d'autres autorisations.#
:La valeur d'autorisation symbolique que vous souhaitez appliquer, comme détaillé dans le tableau ci-dessus.
Remarque : N'utilisez jamais d'espace après des virgules lors de la configuration d'une valeur de masque symbolique.
Il existe également d'autres opérateurs que vous pouvez utiliser :
=
: crée des autorisations de fichier spécifiées et interdit les autorisations non spécifiées.+
: crée des autorisations spécifiées, mais ne modifie pas les autorisations non spécifiées.-
:Interdit les autorisations spécifiées, mais ne modifie pas les autorisations non spécifiées.
Configuration d'une valeur Umask numérique
Une fois que vous avez calculé le umask requis valeur numérique, configurez-la en utilisant :
umask [mask]
Où :
[mask]
:La valeur numérique du masque que vous souhaitez appliquer.
Différence entre umask et chmod
La commande chmod sous Linux fonctionne de la même manière que umask
commande. Il est également utilisé pour définir les autorisations pour les fichiers et les dossiers.
La différence entre umask
et chmod
est-ce umask
modifie les autorisations par défaut et donc les autorisations pour tous les fichiers et dossiers nouvellement créés, tandis que chmod
définit les autorisations pour les fichiers et dossiers qui existent déjà.