我正在尝试在我的 ubuntu 客户端上启用 LDAP 身份验证。到目前为止,我尝试了以下说明: https://www.tecmint.com/configure-ldap-client-to-connect-external-authentication/
https://www.howtoforge.com/linux_ldap_authentication
https://wiki.archlinux.org/index.php/LDAP_authentication#Client_Setup
https://computingforgeeks.com/how-to-configure-ubuntu-18-04-ubuntu-16-04-lts-as-ldap-client/
因为它不起作用我遇到了一些解决方案比如改变libnss-ldap到libnss-ldapd根据16.04 服务器:启用 LDAP 身份验证导致 systemd-logind 失败
在某个时候,我开始把所有这些解决方案混合在一起,但到目前为止还没有成功。我可以运行ldap搜索在客户端机器上,并获取我的 ldap 服务器中用户的所有信息,但我看不到里面的任何 ldap 用户密码文件运行时getent passwd
,因此我无法使用任何 ldap 用户登录到客户端计算机。我的 passwd 文件中唯一添加的新用户是 nslcd,其描述为“名称服务 LDAP 连接守护程序”。因此,如果有人能帮助我解决这个问题,我将不胜感激。
我应该让你知道,我的 openldap 在 docker 容器内的另一台机器上运行。到目前为止,我成功地将它连接到 keycloak、bookstack 和 lime survey。所以它实际上已经使用了相当长一段时间了。
提前非常感谢
答案1
运行 getent passwd 命令或尝试使用 ldap 用户登录时是否遇到任何特定错误?此时,您已对配置进行了所有编辑,如果您已遵循每个教程,则最好重新开始设置客户端配置。我注意到您列出的其中一个教程的 ldapi uri 格式为 ldapi:///domain,但它很可能应该更像 ldapi://domain:389/。就我而言,我成功使用 ldap://domainOrIP:389/ 作为 URI 格式。此外,默认的客户端配置将指向 cn=manager dn=example dn=net。可能很容易忽略不一致之处,例如,如果您的 openldap 服务器的域是 dn=com 或 cn=admin。要重新开始客户端配置,您可以运行类似 sudo apt -y remove --purge libnss-ldap libpam-ldap ldap-utils 的命令,然后通过在终端中运行 sudo apt -y install libnss-ldap libpam-ldap ldap-utils 重新安装并开始新配置。计算极客指南似乎与我设置客户端配置的过程类似,但欢迎您尝试我的指南。
https://tux-techie.com/2020/10/13/configuring-ubuntu-linux-to-authenticate-to-an-ldap-server/
希望这些内容对您有所帮助。请随时告知我们您的进展。