/etc/pam.d 配置

/etc/pam.d 配置

/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.soauth部分中的行之前,但我的客戶端無法工作,而且我不太了解 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

相關內容