我正在尝试sssd进行LDAP身份validation,虽然它可以用id命令显示用户ID,但是getent group和getent passwd不显示LDAP名称,虽然我可以将文件分配给ldap用户,但他们是ls -lah 。
有点挖掘,我发现一个提示:当匿名绑定LDAP时可能会发生此问题。
但是当我设置sss时,没有提供绑定DN或密码的选项。 我也无法在手册中find正确的指令。
我在哪里为sss + ldap指定绑定DN和密码? 它进入/etc/sssd/sssd.conf吗? 或另一个文件?
您必须在/etc/sssd/sssd.conf创build一个[domain]部分。
你可以拖过去
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
您可以使用以下命令configurationSSSD:
authconfig --enablesssd \ --enablesssdauth \ --enablelocauthorize \ --enableldap \ --enableldapauth \ --ldapserver=ldap://ipaserver.example.com:389 \ --disableldaptls \ --ldapbasedn=dc=example,dc=com \ --enablerfc2307bis \ --enablemkhomedir \ --enablecachecreds \ --update
将ldapserver的名称replace为ldap服务器名称,并以您的基本dn名称为基础。
之后在/etc/sssd/sssd.conf文件中
指定ldap_default_bind_dn和ldap_default_authtok作为默认绑定dn和密码,这取决于您的ldap设置。