J'ai lu quelques articles comme this ancien comment changer le mode umask mais n'arrive toujours pas à le comprendre 100%, Ubuntu 14.04 fonctionne avec le noyau Xenial avec le paramètre par défaut umask 0002 et mon objectif est de définir 0027 umask en mode permanent sur tout le système. Comment puis-je y arriver? Quelle est la meilleure façon de le faire?
Merci @waltinator de m'avoir orienté dans la bonne direction.
A partir de là, j'ai pensé qu'il était facile de configurer le mode mask sur 27 simplement exécuter dans le terminal:
Sudo gedit /etc/login.defs
ou avec nano
lequel vous préférez.
rechercher la ligne:
Prefix these values with "0" to get octal, "0x" to get hexadecimal.
ERASECHAR 0177
KILLCHAR 025
UMASK 027
Modifiez la dernière ligne en faisant référence à UMASK. Ceci configurera mask à 07 pour prendre effet et simplement vous déconnecter et vous reconnecter.
Faites une remarque sur les lignes ci-dessus: Si USERGROUPS_ENAB est défini sur "yes", cela modifiera cette valeur par défaut UMASK ... utilisée en tant qu'autorisations de groupe, par exemple, 022 deviendra 002
Donc, pour que mask 0027 prenne effet jusqu'à la ligne:
USERGROUPS_ENAB yes
et le changer pour:
USERGROUPS_ENAB no
Terminé. Une fois que vous êtes déconnecté et reconnecté, exécutez la commande umask
et vous obtiendrez le mode 0027
.
Créez maintenant un nouveau fichier avec touch
dans le terminal:
touch testfile
maintenant vérifier les autorisations:
stat -c %a ~/testfile
Il devrait vous donner 64
Un simple man -k umask
aurait dû vous amener à lire man pam_umask
, ce qui dit, en partie:
DESCRIPTION
pam_umask is a PAM module to set the file mode creation mask of the
current environment. The umask affects the default permissions assigned
to newly created files.
Il dit aussi
The PAM module tries to get the umask value from the following places
in the following order:
· umask= argument
· umask= entry in the user's GECOS field
· UMASK= entry from /etc/default/login
· UMASK entry from /etc/login.defs (influenced by USERGROUPS_ENAB in
/etc/login.defs)
J'utilisais la réponse de JoKeR ci-dessus pour obtenir un umask à l'échelle du système de 027, mais je savais que lorsque j'utilisais USERGROUPS_ENAB no
, il fallait davantage de gestion de groupe. Je pense donc avoir trouvé un meilleure réponse , en gros:
session optional pam_umask.so
pour que pam_umask soit activé.session optional pam_umask.so umask=027
chfn --other='umask=027' username
UMASK=027
dans/etc/default/login (vous devrez peut-être créer ce fichier) définit une valeur logicielle par défaut du système.Alors maintenant, j’utilise la première option (la valeur par défaut pour l’ensemble du système dans /etc/pam.d/common-session) et cela fonctionne vraiment bien.
Bonne chance mes amis :)