Dans le passé, j’ai toujours défini umask
à ~/.profile
. J'ai défini un umask
de 077
afin que mes documents obtiennent l'autorisation de 600 (rw-------)
. Mais définir ceci à ~/.profile
ne fonctionne plus dans Ubuntu 17.04.
Ainsi, à mesure que de nouveaux documents sont créés dans une session gnome sous Ubuntu 17.04, où puis-je les configurer pour qu’ils soient créés avec l’autorisation 600?
Pour définir les autorisations pour tous les répertoires et fichiers créés jour après jour par n’importe quel utilisateur:
Les nouveaux fichiers seront 600. Les nouveaux répertoires seront 700.
Selon le pages de manuel , il existe plusieurs endroits où nous pouvons définir le umask
du module PAM à rechercher; cela donne même un exemple. Je vais le mettre dans /etc/pam.d/login
. Notez que ce fichier n’existe pas sur ma version d’Ubuntu, auquel cas nous pouvons le créer.
$ Sudo sh -c "echo 'session optional pam_umask.so umask=0027' >> /etc/default/login"
$ more /etc/default/login
session optional pam_umask.so umask=0027
Maintenant, si nous redémarrons et demandons le umask dans le terminal, nous obtenons toujours 0022
et non le 0027
qui a été défini. Voir Bogue n ° 1685754 .
Mais si nous ouvrons une application, par exemple l'éditeur de texte, et sauvegardons un fichier, nous remarquerons que le nouvel umask est défini correctement. Ouvrez-le depuis le menu, pas depuis le terminal car il semble récupérer le (mauvais) umask
du terminal.
$ touch terminal-file
$ ls -l
-rw-r----- 1 daniel daniel 0 jan 28 21:21 gedit-file
-rw-r--r-- 1 daniel daniel 0 jan 28 21:22 terminal-file
# the default umask is set in /etc/profile; for setting the umask
# for ssh logins, install and configure the libpam-umask package.
#umask 022
C'est littéralement ce que dit votre ~/.profile
. Avez-vous relogin une fois changé? Cela devrait bien fonctionner.
Également:
This file is not read by bash(1), if ~/.bash_profile or ~/.bash_login exists.
En fait, a confirmé le problème sur un Ubuntu 17.04 fraîchement installé. Même une mise à jour complète provoque toujours ce problème et même ~/.bash_profile
est ignoré, il semble y avoir un problème avec l'interpréteur de commandes qui ne lit pas ces fichiers après la connexion.
Vous pouvez utiliser ~/.bashrc
pour l'instant, ce qui fonctionne toujours bien et est lu lors de la connexion.
Donc, après avoir creusé un peu, il semble que bash n’est plus exécuté par défaut avec --login, ce qui signifie qu’il ne lit pas le fichier ~/.profile. Commencer une nouvelle bash avec le umask dans ~/.profile avec bash --login
définit correctement le début de la bash sans définir le bash sans le ~/.profile. Je ne suis pas sûr de ce qui a été changé, mais cela me semble être un bug sauf si cela a été intentionnellement changé.
Si vous utilisez GDM, il ne lit pas ~/.profile
comme LightDM. Et le terminal ouvre normalement un shell sans connexion. L'effet net est que ~/.profile
n'est pas chargé du tout lorsque vous ouvrez un terminal après vous être connecté à l'aide de GDM.
Non plus:
~/.bashrc
, ou