Sobes.tech
Junior

Qu'est-ce que umask?

sobes.tech IA

Réponse de l'IA

Umask (abréviation de user file-creation mode mask) est une commande dans les systèmes d'exploitation de type Unix/Linux qui définit le masque de permissions par défaut pour les nouveaux fichiers et répertoires créés. Il s'agit d'un ensemble de bits qui sont désactivés à partir des permissions complètes (777 pour les répertoires, 666 pour les fichiers) lors de la création d'un objet.

Représentation de l'umask :

  • L'umask est généralement représentée sous forme d'un code octal à trois chiffres, par exemple, 022. Chaque chiffre correspond aux permissions pour le propriétaire, le groupe et tous les autres utilisateurs.
  • Les bits du masque sont inversés par rapport aux permissions souhaitées. Par exemple, pour désactiver le droit d'écriture (2) pour le groupe, le bit correspondant sera activé dans l'umask.

Calcul des permissions résultantes :

Les permissions d'accès résultantes pour un nouveau fichier/répertoire sont calculées comme :

Résultat = Permissions_initiales ET (NON umask)

Où :

  • Permissions_initiales pour un fichier = 666 (rw-rw-rw-)
  • Permissions_initiales pour un répertoire = 777 (rwxrwxrwx)
  • NON umask - le complément binaire de la valeur de l'umask. Lorsqu'on utilise un code octal, chaque chiffre de l'umask est soustrait de 7.

Exemple : umask = 022

  • Pour un fichier : 666 ET (NON 022) = 666 ET 755 = 644 (rw-r--r--)
  • Pour un répertoire : 777 ET (NON 022) = 777 ET 755 = 755 (rwxr-xr-x)

Visualisation et réglage de l'umask :

  • Visualiser l'umask actuelle :

    # Affiche l'umask en octal
    umask
    
    # Affiche l'umask en format symbolique
    umask -S
    
  • Définir une nouvelle umask :

    # Définir l'umask en octal
    umask 027
    
    # Définir l'umask en format symbolique
    umask u=rwx,g=rx,o=r
    

L'umask est un outil important pour assurer la sécurité de base du système de fichiers, en établissant des permissions raisonnables par défaut pour les nouveaux objets.