Authconfig 未找到所有 LDAP 组

Authconfig 未找到所有 LDAP 组

我的(即将成为的)管理员帐户分为两组:

#  ldapsearch \
> -v \
> -H ldaps://localhost:636 \
> -D "${l_dirmgr}" \
> -w $(cat ${f_dirmgr_passphrase}) \
> -b "ou=groups,${l_basedn}" \
> "member=cn=testuser" \
> dn gidNumber member

dn: cn=wheel,ou=groups,dc=localdomain
gidNumber: 10
member: cn=testuser,ou=users,dc=localdomain

dn: cn=users,ou=groups,dc=localdomain
gidNumber: 100
member: cn=testuser,ou=users,dc=localdomain

但是,id只能看到我的用户记录中关联的 GID:

# id testuser
uid=20001(testuser) gid=100(users) groups=100(users)

我如何深入authconfig//查看它实际上sssdldap寻找和提取什么? 389DS 访问日志没有向我显示任何内容,可能是因为authconfig/ sssd/无论什么都没有更新其缓存。我还没有设法在日志中捕获实际的查找。

(我确实在日志中看到authconfig//sssd某些东西仍在尝试进行匿名绑定,尽管我在 sssd.conf 中添加了ldap_default_bind_dnand ldap_default_authtok。)

答案1

没关系...ldap_default_authtok里面有旧密码...

(而且,你在我额头中间看到的瘀伤是我用头敲桌子造成的……)

好的,现在有更多细节。我创建的 LDAP 实例与我的一致关于该主题的注释。其中包括 LDIF 的这一点:

dn: cn=config
changetype: modify
replace: nsslapd-allow-anonymous-access
nsslapd-allow-anonymous-access: off
-
replace: nsslapd-require-secure-binds
nsslapd-require-secure-binds: on

由于我不允许匿名访问,因此我创建了一个供 PAM 用于连接的服务帐户以及一个服务帐户容器:

dn: ou=serviceAccounts,${l_basedn}
changetype: add
objectClass: organizationalUnit
objectClass: top
ou: serviceAccounts
description: Container for service accounts. Some will have shell access 
 (objectClass: posixUser), most won't.

dn: cn=svcAuthenticator,ou=serviceAccounts,${l_basedn}
changetype: add
objectClass: top
objectClass: person
cn: svcAuthenticator
sn: svcAuthenticator
userPassword: $(cat ${f_svcAuthenticator_passphrase})
description: Service account to allow PAM/SSS to search the LDAP database.

(我需要objectClass: person给该帐户一个密码。但是,sn这是 的必需属性objectClass: person。所以,我伪造了它。)

然后,我将该密码放入/etc/pam_ldap.confand中/etc/sssd/sssd.conf

sed --in-place=.$(date +%Y%m%d) "/#binddn.*/ a\
binddn cn=svcAuthenticator,ou=serviceAccounts,${l_basedn}" /etc/pam_ldap.conf

sed --in-place "/#bindpw.*/ a\
bindpw $(cat ${f_svcAuthenticator_passphrase})" /etc/pam_ldap.conf

sed --in-place=.$(date +%Y%m%d) "/^ldap_uri.*/ a\
ldap_default_bind_dn = cn=svcAuthenticator,ou=serviceAccounts,${l_basedn}" /etc/sssd/sssd.conf

sed --in-place "/^ldap_default_bind_dn.*/ a\
ldap_default_authtok = $(cat ${f_svcAuthenticator_passphrase})" /etc/sssd/sssd.conf

这一切都很好,直到我${f_svcAuthenticator_passphrase}在尝试解决其他 LDAP 问题时更改了 的内容,并且从未将新值传递给pam_ldap.confsssd.conf

一旦我记得这样做,我就从id命令中得到了很好的值,包括完整的组列表。我还使用cn=svcSUDO,ou=serviceAccounts,${l_basedn}和获得 SUDO 权限列表$(cat ${f_svcSUDO_passphrase})

相关内容