/etc/pam.d/sshd
这是新安装的 FreeBSD 11.0 系统上的配置文件示例:
#
# $FreeBSD: releng/11.0/etc/pam.d/sshd 197769 2009-10-05 09:28:54Z des $
#
# PAM configuration for the "sshd" service
#
# auth
auth sufficient pam_opie.so no_warn no_fake_prompts
auth requisite pam_opieaccess.so no_warn allow_local
#auth sufficient pam_krb5.so no_warn try_first_pass
#auth sufficient pam_ssh.so no_warn try_first_pass
auth required pam_unix.so no_warn try_first_pass
# account
account required pam_nologin.so
#account required pam_krb5.so
account required pam_login_access.so
account required pam_unix.so
# session
#session optional pam_ssh.so want_agent
session required pam_permit.so
# password
#password sufficient pam_krb5.so no_warn try_first_pass
password required pam_unix.so no_warn try_first_pass
我想在 OpenLDAP 客户端中配置此文件,该客户端应使用 LDAP 以便让远程用户登录。本指南说要放某处线
auth sufficient /usr/local/lib/pam_ldap.so no_warn
我读了这个文件和这个;我尝试将此行放在pam_unix.so
该auth
部分中的行之前,但我的客户端无法工作,而且我不太了解 PAM。
1)该行正确吗?该行应该放在该auth
部分的什么位置?
2)该行是否也应该放在一个或多个其他部分中?
答案1
PAM 的工作方式是跟踪每一行直到结束(或者直到因特定故障而短路)。每个关键字都说明了如何处理身份验证步骤。
您想要的是告诉它 LDAP 身份验证可以接受身份验证。因此,您需要将 pam_ldap.so 行放在最后一行之前。这说明 LDAP 身份验证足以进行身份验证。
auth sufficient pam_opie.so no_warn no_fake_prompts
auth requisite pam_opieaccess.so no_warn allow_local
#auth sufficient pam_krb5.so no_warn try_first_pass
#auth sufficient pam_ssh.so no_warn try_first_pass
auth sufficient /usr/local/lib/pam_ldap.so no_warn
auth required pam_unix.so no_warn try_first_pass
如果您想了解更多详细信息,最好查看手册第 5 节中的 pam.d 或 pam.conf 手册页:
% man 5 pam.d