在以下文件的 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 这样的程序仅在成功验证后才验证帐户。