
在以下檔案的 PAM 配置中/etc/pam.d/system-auth
auth required pam_env.so
auth sufficient pam_unix.so nullok try_first_pass
auth requisite pam_succeed_if.so uid >= 500 quiet
auth required pam_deny.so
account required pam_unix.so
account sufficient pam_localuser.so
account sufficient pam_succeed_if.so uid < 500 quiet
account required pam_permit.so
如果第一部分 ( auth
) 成功,第二部分 ( account
) 是否會被呼叫並檢查?相反,如果auth
部分失敗,會account
被呼叫嗎?
在另一個場景中,強調我的主要困難是,如果我們混合auth
併且account
,讓我們看下面的例子:
auth sufficient pam_unix.so nullok try_first_pass
account required pam_unix.so
auth requisite pam_succeed_if.so uid >= 500 quiet
account sufficient pam_succeed_if.so uid < 500 quiet
PAM 究竟會如何表現?我對此感到困惑,如果有人能為我解釋這一點,那將對我非常有幫助。
答案1
PAM 不會混合身份驗證和帳戶類型,而是獨立堆疊它們根據管理類型。堆疊的傳回值取決於選項的順序和控制標誌,參見。https://docs.oracle.com/cd/E19253-01/816-4557/pam-15/index.html
如何處理結果在一定程度上取決於應用程式。通常,像 login 或 su 這樣的程式僅在成功驗證後才會驗證帳戶。