Outils pour utilisateurs

Outils du site


sysadmin:linux:modifier_permissions_via_umask

Redéfinir les droits d'accès par défaut des fichiers et dossiers

Le fonctionnement des droits d'accès aux fichier et dossiers est abordée dans le wiki gestion-droits-access.

Lorsque un nouveau fichier ou un nouveau répertoire est créé, le shell lui applique des droits d'accès par défaut. Ces droits par défaut sont la soustraction des permissions prédéfinies par le système et des permissions umask

permissions affectées = permissions système - permissions umask
  • Les permissions prédéfinies du système ne sont pas altérables et sont 0666 pour les fichiers et 0777 pour les dossiers.
  • Les permissions umask sont modifiables selon les besoins et sont le plus souvent initialement 0022 pour root et 0002 pour les autres utilisateurs.
Les quatre variables numériques utilisées pour le calcul des permissions par défaut sont désignées “permissions umask”, “valeurs umask” ou “paramétrages umask” selon les documentations.

Si aucune modification n'est faite sur les permission umask, les fichiers crées par root obtiennent les permissions 0644 (0666 - 0022) et les dossier 0755 (0777 - 0022) comme présenté dans le tableau ci-dessous:

Permissions Fichiers Dossiers
Perm système 0 6 6 6 0 7 7 7
umask 0 0 2 2 0 0 2 2
Perm défaut 0 6 4 4 0 7 5 5

Modification temporaire

La commande umask permet de redéfinir les valeurs umask. Appelée sans argument elle affiche les permissions umask en cours d'utilisation:

umask 
0002

L'argument -S fournit un affichage symbolique des permissions obtenues:

umask -S
u=rwx,g=rwx,o=rx

Pour redéfinir temporairement les droits par défaut, invoquer umask avec les valeurs souhaitées:

umask 0077
 
umask -S
u=rwx,g=,o=

Modifications permanentes

Selon les besoins, le paramétrage des permissions peut être définit à différents niveaux mais pour que le paramétrage soit correct il faudra prendre en compte la façon dont le shell est invoqué: login shell ou non login shell.

login shell

Le login shell est l'environnement définit juste après authentification. Il permet de construire une interface personnalisée pour interagir avec le système.

non login shell

Environnement shell supplémentaire construit depuis le login shell pour effectuer une tache spécifique. Puisqu'il est définit après le login shell il hérite de cet environnement qu'il peut redéfinir.

Selon l'utilisateur et le mode d'accès au shell, les permissions umask peuvent être définies dans quatre fichiers différents:

Fichier de conf Type de conf Utilisateur Application Type de shell
/etc/profile faut tous à la connexion login shell
/etc/bashrc faut tous shell complémentaire non login shell
/etc/profile.d/umask.sh faut tous connexion et shell complémentaire login et non login shell
~/.bashrc personnalisée util courant connexion et shell complémentaire login et non login shell

Références

sysadmin/linux/modifier_permissions_via_umask.txt · Dernière modification : 2021/02/01 21:51 de 127.0.0.1