Qu'est-ce que umask ?

umask (user file-creation mode mask) est un paramètre Linux et Unix qui contrôle les permissions par défaut attribuées aux fichiers et répertoires nouvellement créés. Au lieu de définir les permissions directement, umask définit quels bits de permission doivent être supprimés des valeurs par défaut du système lors de la création d'un nouveau fichier ou répertoire.

Le système commence avec une permission de base de 666 (lecture et écriture pour tout le monde) pour les fichiers et 777 (lecture, écriture et exécution pour tout le monde) pour les répertoires. Le umask est ensuite soustrait bit à bit de ces valeurs par défaut en utilisant une opération ET-NON logique, produisant les permissions finales. Par exemple, avec un umask de 022, les nouveaux fichiers se retrouvent avec 644 et les nouveaux répertoires avec 755.

Chaque chiffre du umask correspond à une classe de permission : le premier chiffre affecte le propriétaire, le deuxième le groupe, et le troisième les autres. Un chiffre de 0 signifie qu'aucune permission n'est masquée, tandis que 7 supprime toutes les permissions pour cette classe.

Description de l'outil

Le Calculateur umask Linux convertit une valeur umask et une permission de base en permissions effectives résultantes en notation octale et symbolique. Il génère également la commande shell umask exacte, aidant les administrateurs système, les développeurs et les ingénieurs DevOps à prévisualiser le résultat de tout umask avant de l'appliquer à un shell, un script ou une configuration système.

Exemples

Umask Base Octal résultant Symbolique
022 666 644 rw-r--r--
022 777 755 rwxr-xr-x
077 666 600 rw-------
027 777 750 rwxr-x---
002 666 664 rw-rw-r--

Fonctionnalités

  • Calcule les permissions octales et symboliques résultantes à partir de tout umask
  • Supporte les valeurs umask à 3 chiffres et à 4 chiffres (avec bit sticky/setuid en tête)
  • Présets umask courants (022, 027, 077, 002, 007, 000)
  • Présets de permission de base pour les fichiers (666) et les répertoires (777)
  • Génère la commande shell umask prête à l'emploi

Cas d'usage

  • Durcissement du serveur : Prévisualisez un umask plus strict comme 077 avant de l'ajouter à /etc/profile ou à la configuration shell d'un utilisateur pour vous assurer que les nouveaux fichiers sont privés.
  • Environnements de développement partagés : Vérifiez que 002 ou 007 produit des fichiers accessibles en écriture par le groupe pour les répertoires de projets collaboratifs.
  • Scripts de déploiement : Confirmez que le umask utilisé dans les pipelines CI/CD ou les points d'entrée de conteneurs produira les permissions de fichiers attendues pour les journaux d'application et les ressources téléchargées.

Fonctionnement

La permission finale est calculée pour chaque classe (propriétaire, groupe, autres) en utilisant la formule :

final = base AND (NOT umask)

Chaque chiffre octal est traité indépendamment. Pour un chiffre umask de 2 (binaire 010) et un chiffre de base de 6 (binaire 110), le résultat est 110 AND NOT 010 = 100, ce qui équivaut à 4 (lecture seule). Le chiffre en tête d'un umask à 4 chiffres contrôle les bits spéciaux (setuid, setgid, sticky) et est ignoré dans le calcul des permissions standard.

Conseils

  • Utilisez 666 comme base pour voir les permissions des nouveaux fichiers, et 777 pour les nouveaux répertoires.
  • Un umask de 000 signifie qu'aucune permission n'est supprimée — utile uniquement dans des environnements étroitement contrôlés et isolés.
  • Pour rendre le umask permanent, ajoutez la commande générée à ~/.bashrc, ~/.profile, ou /etc/profile selon la portée souhaitée.