
/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