Bel*_*dez 5 linux security pam rhel
我刚刚开始为 RHCE 学习。在谈到 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
Run Code Online (Sandbox Code Playgroud)
根据PAM 文档,这sufficient意味着它将停止处理堆栈的其余部分。如果是这种情况,则第 3 行永远不会检查登录用户的 UID。
我是否正确解释了这一点,还是我误解了什么?
控制字段sufficient中的指示意味着如果报告成功,则该堆栈立即返回成功。如果失败(例如,因为用户没有密码,或者不存在),则堆栈继续执行. 该行又会立即拒绝 UID < 500 的用户的任何登录。最后,在传统 UNIX 方法中未能通过身份验证的 UID \xe2\x89\xa5 500 的用户将被此堆栈拒绝,但可能会被授权调用堆栈(例如,如果配置调用此堆栈,则通过)。换句话说:pam_unixpam_unixpam_succeed_if.rhostsrshd
if unix authentication ok then success\nelse if uid < 500 then fail hard\nelse fail (but allow caller to proceed)\nRun Code Online (Sandbox Code Playgroud)\n\n基于网络的身份验证方法(例如 NIS 和 LDAP)通常会sufficient在该行之前添加为行pam_deny。这将仅在 UID 大于 500 时允许网络帐户,并给予本地身份验证优先权。这样,NIS 或 LDAP 服务器无法提供任何系统用户,只能提供 \xe2\x80\x9creal\xe2\x80\x9d 用户(通常,低 UID 是系统用户);此外,如果网络出现故障,具有本地帐户的用户仍然可以登录。