22.2. Affichage de l'umask par défaut de bash

Il existe un certain nombre de shells que vous pouvez utiliser, tels que bash, ksh, zsh et tcsh. Ces shells peuvent se comporter comme des shells de connexion ou de non- connexion. Vous pouvez invoquer l'interpréteur de commandes de connexion en ouvrant un terminal natif ou une interface graphique.

Pour déterminer si vous exécutez une commande dans un shell avec ou sans login, utilisez la commande echo $0.

Exemple 22.1. Déterminer si vous travaillez dans un shell bash avec ou sans login

  • Si la sortie de la commande echo $0 renvoie bash, vous exécutez la commande dans un shell sans login.

    $ echo $0
    bash

    La valeur par défaut de umask pour le shell non connecté est définie dans le fichier de configuration /etc/bashrc.

  • Si la sortie de la commande echo $0 renvoie -bash, vous exécutez la commande dans un shell de connexion.

    # echo $0
    -bash

    La valeur par défaut de umask pour le shell de connexion est définie dans le fichier de configuration /etc/login.defs.

Procédure

  • Pour afficher la valeur par défaut de bash umask pour l'interpréteur de commandes sans connexion, utilisez la commande suivante

    $ grep umask /etc/bashrc

    La sortie revient :

    # By default, we want umask to get set. This sets it for non-login shell.
           umask 002
           umask 022
  • Pour afficher la valeur par défaut de bash umask pour l'interpréteur de commandes de connexion, utilisez la commande suivante :

    grep "UMASK" /etc/login.defs

    La sortie revient :

    # UMASK is also used by useradd(8) and newusers(8) to set the mode for new
    UMASK        022
    # If HOME_MODE is not set, the value of UMASK is used to create the mode.