在 ApacheDS LDAP 上禁用匿名绑定会导致 getent 组不起作用

在 ApacheDS LDAP 上禁用匿名绑定会导致 getent 组不起作用

我是 ApacheDS 的新手 — 正在使用 apacheds-2.0.0-M17。

按照此页面上的说明将 Ubuntu 14.04 LTS 机器设置为 LDAP 客户端:

https://help.ubuntu.com/community/LDAPClientAuthentication

能够通过发出以下命令来查看组:

getent group

然后我通过使用 ldapmodify 进入运行 apacheds 的 Ubuntu 机器来禁用匿名绑定:

ldapmodify -H ldap://my_target_server:10389 -D "uid=admin,ou=system" -x -W

dn: ads-directoryServiceId=default,ou=config
changetype: modify
replace: ads-dsallowanonymousaccess
ads-dsallowanonymousaccess: FALSE

重新启动 apacheds 后,我使用这个特定的 ldapsearch 查询验证了我无法匿名登录:

ldapsearch -H ldap://my_target_server:10389 -x -b "dc=iam,dc=aws,dc=org"

这导致标准输出中出现以下输出:

 ldap_bind: Invalid credentials (49)
      additional info: INVALID_CREDENTIALS: Bind failed: ERR_268 Cannot find a partition for

现在,当我发出命令时

getent group

我的目标 LDAP 服务器没有返回任何内容!

问题):

  1. 我的 ldapmodify 过程是否是关闭/禁用匿名绑定的正确方法?

  2. 如何在关闭匿名绑定的情况下使用 getent group(从客户端计算机)查看我的组?发出 getent group 时,有没有办法指定 LDAP 目标服务器的密码?

我的 /etc/nsswitch.conf 如下所示:

passwd:         compat
group:          compat
shadow:         compat

hosts:          files dns
networks:       files

protocols:      db files
services:       db files
ethers:         db files
rpc:            db files

netgroup:       nis

当我通过设置启用匿名访问时

ads-dsallowanonymousaccess: TRUE

我可以通过以下命令查看我的 LDAP 组:

getent group

需要能够在不使用 Apache Directory Studio 应用程序的情况下关闭匿名绑定(并且仍然使用 getent 查看组)。

感谢您抽出时间来阅读。

相关内容