Linux

pam_umask.so 不起作用

  • March 13, 2020

我嘗試在 centos 8 上配置 pam.d。我想將系統範圍的 umask 配置為 0077 in /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 兩者都會有 0022 的 umask。

我不得不提一下,/etc/profile所有帳戶的 umask 也設置為 022。

我還嘗試增加pam_umask.so詳細程度debug並查閱日誌/var/log/{messages,secure,audit},沒有任何條目可以解釋為什麼pam_umask.so不起作用。

我不得不提一下,所有帳戶的 /etc/profile 中的 umask 也設置為 022。

每個使用 /etc/profile 的 shell 都會覆蓋pam_umask.so. 因此,如果您想要係統範圍的 umask,您也應該將 /etc/profile 中的 umask 設置為 0077。

引用自:https://unix.stackexchange.com/questions/565057