我们有一个 (active directory) LDAP 服务器,我正在尝试使用 libnss-ldap 来解析 ldap 用户和组。当我运行“getent passwd”时,所有用户都按我预期的方式返回。但是,当我运行“getent group”时,所有系统组都会立即返回,然后进程挂起,然后似乎放弃了。
/etc/nsswitch.conf:
passwd: compat ldap
group: compat ldap
shadow: compat ldap
hosts: files dns
networks: files
protocols: db files
services: db files
ethers: db files
rpc: db files
netgroup: nis
/etc/libnss-ldap.conf:
host 1.1.1.2 1.1.1.3
base DC=ad,DC=domain,DC=tld
binddn CN=pamldap,OU=Service Accounts,OU=GSS,DC=ad,DC=domain,DC=tld
bindpw somepass
uri ldap://ad.domain.tld/
ldap_version 3
nss_paged_results yes
pagesize 10000
nss_base_passwd OU=Users,OU=GSS,DC=ad,DC=domain,DC=tld
nss_base_shadow OU=Users,OU=GSS,DC=ad,DC=domain,DC=tld
nss_base_group OU=Centers,OU=Groups,OU=GSS,DC=ad,DC=domain,DC=tld
nss_map_objectclass posixAccount user
nss_map_objectclass shadowAccount user
nss_map_attribute uid sAMAccountName
nss_map_attribute homeDirectory unixHomeDirectory
nss_map_attribute shadowLastChange pwdLastSet
nss_map_objectclass posixGroup group
nss_map_attribute uniqueMember member
pam_login_attribute sAMAccountName
pam_filter objectclass=User
pam_password ad
/etc/ldap/ldap.conf:
BASE OU=GSS,DC=ad,DC=domain,DC=tld
URI ldap://ad.domain.tld
TLS_CACERT /etc/ssl/certs/ca-certificates.crt
我查看了所有能找到的东西,但没能找到任何有同样问题的东西。希望有人能用一些非常明显和微不足道的事情来提醒我,我做错了什么。
答案1
事实证明,该组缺少 gidNumber 属性。我现在正在编写一个脚本来纠正这个问题。显然,我上面的所有内容都是正确的。我将其保留以供其他人将来参考。