正文:
步骤一:理解 PAM 文件被系统自动刷新的原理
openSUSE & SLES 的 PAM 文件默认是一些软链接,指向另一个文件:
/etc/pam.d/common-account --> /etc/pam.d/common-account-pc
/etc/pam.d/common-auth --> /etc/pam.d/common-auth-pc
/etc/pam.d/common-password --> /etc/pam.d/common-password-pc
/etc/pam.d/common-session --> /etc/pam.d/common-session-pc
而当 openSUSE & SLES 升级 pam-config 软件包时可能会自动刷新以下文件:
/etc/pam.d/common-account-pc
/etc/pam.d/common-auth-pc
/etc/pam.d/common-password-pc
/etc/pam.d/common-session-pc
所以,如果 openSUSE & SLES 的 PAM 文件是一些单独的文件,不指向后缀以 -pc 结尾的文件的软链接,那么里面的内容就不会被自动刷新
步骤二:发现本地 PAM 文件是软链接
# ll /etc/pam.d/common-account
# ll /etc/pam.d/common-auth
# ll /etc/pam.d/common-password
# ll /etc/pam.d/common-session
步骤三:删除是软链接的 PAM 文件
# rm /etc/pam.d/common-{account,auth,password,session}
步骤四:创建新的 PAM 文件
# cp /etc/pam.d/common-account-pc /etc/pam.d/common-account
# cp /etc/pam.d/common-auth-pc /etc/pam.d/common-auth
# cp /etc/pam.d/common-password-pc /etc/pam.d/common-password
# cp /etc/pam.d/common-session-pc /etc/pam.d/common-session
步骤五:确认本地 PAM 文件是软链接
# ll /etc/pam.d/common-account
# ll /etc/pam.d/common-auth
# ll /etc/pam.d/common-password
# ll /etc/pam.d/common-session
步骤六:设置本地 PAM 文件
(步骤略)
参考文献:
https://www.suse.com/support/kb/doc/?id=000018934