Debian

LDAP 和 PAM 用於 GUI 登錄但不適用於 SSH

  • January 14, 2018

我有兩個 Debian 虛擬機。一個正在執行 LDAP 伺服器,我正在嘗試讓另一個使用 libpam_ldap。

客戶端機器能夠從 LDAP 獲取用於 GUI 登錄螢幕的使用者,但我無法使用僅在 LDAP 中的使用者 ssh 進入 VM。我也不su能從 root 使用者(本地)到 LDAP 使用者,但我認為這是同樣的問題。

在客戶端機器上,我可以ldapsearch用來查找我想要的使用者…

ldapsearch  -x -D "cn=admin,dc=mydomain,dc=com" -W -b "uid=testuser,ou=People,dc=mydomain,dc=com"

這會提示我輸入管理員 LDAP 密碼,並返回我的使用者記錄:

dn: uid=testuser,ou=People,dc=mydomain,dc=com
uid: testuser
cn: Test User
objectClass: account
objectClass: posixAccount
objectClass: top
objectClass: shadowAccount
userPassword:: [removed for stackexchange posting ]
shadowLastChange: 17543
shadowMax: 99999
shadowWarning: 7
loginShell: /bin/bash
uidNumber: 1001
gidNumber: 1001
homeDirectory: /home/dwill
gecos: Test User,,,

(請注意,我的域實際上不是“ mydomain.com ”。我為這篇文章編輯了它)

但是當我這樣做時getent passwd testuser,它不會返回任何東西。

/etc/nsswitch.conf這些線

passwd:         files ldap
group:          files ldap
shadow:         files ldap

它曾經適用compat ldap於那些,但我嘗試更改它,files因為這是我找到的指南之一。無論如何,它都不起作用。

/etc/ssh/sshd_config設置UsePAM yes

我已經按照我可以通過 Google 找到的所有指南進行操作,但仍然無法正常工作。

有什麼建議麼?

我發現了問題。我在 Google 上找到的指南之一指示我這樣做

apt-get libnss-ldap libpam-ldap nslcd

後來我還發現一篇文章說libpam-ldapd比它更新libpam-ldap並安裝了它。

libnss-ldap提示您進行一些配置並創建一個/etc/libnss-ldap.conf文件。然後libpam-ldap解除安裝libnss-ldap但留下其配置文件。顯然該配置文件仍然有意義,因為這是它正在使用的配置文件,並且我在該文件中的 binddn 中有錯誤。修復binddn後,它起作用了。

我真的不知道你為什麼要安裝這兩個 ldap 模組。在讓第一個客戶端 VM 工作後,我只使用 libpam-ldapd 和 nslcd 設置了另一個客戶端 VM,它第一次工作。

引用自:https://unix.stackexchange.com/questions/416731