pam_umask.so 不起作用

pam_umask.so 不起作用

我尝试在 centos 8 上配置 pam.d。我想将系统范围的 umask 配置为/etc/pam.d/postlogin.

postlogin包含在多个服务中,/etc/pam.d例如 su、su-l

我的postlogin样子

session optional                   pam_umask.so umask=0077
session [success=1 default=ignore] pam_succeed_if.so service !~ gdm* service !~ su* quiet
session [default=1]                pam_lastlog.so nowtmp showfailed
session optional                   pam_lastlog.so silent noupdate showfailed

我尝试使用su -l usernameaswell登录su username并调用 umask ,两者的 umask 均为 0022。

我不得不提的是,所有帐户的 umask 也设置/etc/profile为 022。

我还尝试增加pam_umask.so详细程度debug并查阅日志,/var/log/{messages,secure,audit}没有任何条目可以解释为什么pam_umask.so不起作用。

答案1

我不得不提的是,所有帐户的 umask 也在 /etc/profile 中设置为 022。

每个使用 /etc/profile 的 shell 都会覆盖由pam_umask.so.因此,如果您想要系统范围的 umask,则应该将 /etc/profile 中的 umask 也设置为 0077。

相关内容