在哪里指定 sss+ldap 的绑定 DN 和密码?

在哪里指定 sss+ldap 的绑定 DN 和密码?

我正在尝试使用 sssd 进行 LDAP 身份验证,虽然它可以使用命令显示用户 ID idgetent groupgetent passwd不显示 LDAP 名称,而且虽然我可以将文件 chown 为 ldap 用户,但它们ls -lah却是nobody

经过一番挖掘,我发现了一个提示:匿名绑定 LDAP 时可能会出现此问题。

但是当我设置 sss 时,没有提供绑定 DN 或密码的选项。我也无法在手册中找到正确的指令。

我应该在哪里指定 sss+ldap 的绑定 DN 和密码?它应该放在哪里/etc/sssd/sssd.conf?还是另一个文件?

答案1

您必须在 中创建一个 [域] 部分/etc/sssd/sssd.conf

你可以浏览

man sssd-ldap

但它确实很庞大!这应该让你大吃一惊。根据您的环境,这里并非所有指令都是必需的。

[domain/default]
ldap_tls_reqcert = never
auth_provider = ldap
ldap_id_use_start_tls = False
chpass_provider = ldap
krb5_realm = EXAMPLE.COM
cache_credentials = True
debug_timestamps = True
ldap_default_authtok_type = password
ldap_search_base = dc=domain,dc=com,dc=br
debug_level = 3
id_provider = ldap
ldap_default_bind_dn = cn=Manager,dc=domain,dc=com,dc=br
min_id = 100
ldap_uri = ldap://<FQDN of LDAP Server>/
krb5_server = kerberos.example.com
ldap_default_authtok = xxxxxxxxxx
ldap_tls_cacertdir = /etc/openldap/cacerts

答案2

您可以使用以下命令配置 SSSD:

authconfig --enablesssd \
--enablesssdauth \
--enablelocauthorize \
--enableldap \
--enableldapauth \
--ldapserver=ldap://ipaserver.example.com:389 \
--disableldaptls \
--ldapbasedn=dc=example,dc=com \
--enablerfc2307bis \
--enablemkhomedir \
--enablecachecreds \
--update

将 ldapserver 的名称替换为您的 ldap 服务器名称,并将 basedn 替换为您的基本 dn 名称。

此后在/etc/sssd/sssd.conf文件中

ldap_default_bind_dn分别指定ldap_default_authtok作为默认绑定 dn 和密码,这取决于您的 ldap 设置。

相关内容