我无法将会话的默认 umask 设为0077
。
我已编辑/etc/login.defs
并将值设置为077
:
UMASK 077
我还确保以下条目存在于/etc/pam.d/common-session
:
session optional pam_umask.so
虽然此配置在用户使用su
它登录时似乎有效,但在通过 mdm 登录时却无效。 pam.d 中的 mdm 和 su 配置文件都包含公共会话。
username@hostname ~ $ umask
0022
username@hostname ~ $ su username
Password:
username@hostname ~ $ umask
0077
使用 GDM 或 LIGHTDM 代替 MDM 时不会出现此问题。
对于造成这种情况的可能原因有什么想法吗?
答案1
这并不能直接回答您的问题,但此技术可能会帮助您了解是否有一个杂散umask
命令作为 shell 配置文件的一部分在某处运行:
$ bash -x -l -i -c 'exit' 2>&1 | grep 'umask'
-x
-> 启用调试-l
-> 登录外壳-i
-> 交互式外壳-c
-> 命令
这exit
是必要的,以便 shell 在完成后返回。
例子
$ bash -x -l -i -c 'exit' 2>&1 | grep umask
+ umask 002
$
我在 U&L Q&A 中发现了上述技术,标题为:如何在 bashrc 中使用别名时测试可能的冲突?。