会话开始时未应用默认 umask 077

会话开始时未应用默认 umask 077

我无法将会话的默认 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 中使用别名时测试可能的冲​​突?

相关内容