Linux
密碼歷史限制寫入 system-auth(-ac),而不是 password-auth(-ac)。為什麼,當所有其他政策都寫入兩者時?
根據這個 STIG,密碼歷史被輸入
/etc/pam.d/system-auth
,但不是/etc/pam.d/password-auth
。其他策略(例如,帳戶鎖定)適用於這兩個文件。為什麼兩者都沒有輸入密碼歷史記錄,或者這只是 STIG 中的拼寫錯誤?(很難相信那一秒,但它確實發生了。)
和文件不被任何程序或服務直接使用
password-auth
。system-auth
相反,它們使用該include
指令被拉入其他 PAM 配置文件。在預設安裝中,唯一真正關心密碼歷史記錄的是passwd
命令。它有自己的 PAM 模組,它只引入system-auth
:[root@rhel7 ~]# grep include /etc/pam.d/passwd auth include system-auth account include system-auth
建議對兩者都進行帳戶鎖定,因為諸如
sshd
拉入password-auth
之類的服務。在我現在正在查看的 RHEL 7 系統上,system-auth
主要被拉入 PAM 文件中,用於使用者將直接與之互動的內容(登錄名、密碼更改su
等sudo
),而password-auth
通過執行諸如sshd
和之類的守護程序拉入crond
。如果需要,您可以將密碼歷史設置添加到
pam_unix.so
inpassword-auth
以保持一致性。它不會傷害任何東西,但它也不會做任何有用的事情。