我已经将用户添加到LDAP中的一个组中。 用户在ldapsearch中显示。 但是,当我使用getent group my_group在RHEL实例上列出组成员时,用户不会显示出来。
假设这是因为SSSDcaching了组员资格,我是否正确?
当我尝试清除组的SSSDcaching时,它不会执行任何操作:
# sss_cache -d LDAP -g my_group (Mon Dec 14 10:40:41:816191 2015) [sss_cache] [confdb_get_domain_internal] (0x0010): Unknown domain [LOCAL] (Mon Dec 14 10:40:41:816364 2015) [sss_cache] [confdb_get_domains] (0x0010): Error (2 [No such file or directory]) retrieving domain [LOCAL], skipping! # echo $? 0
具体来说,用户仍然不会出现在getent group my_group列表中。
当我在命令中指定“LDAP”域时,为什么要查找“LOCAL”域?
这是SSSDconfiguration
# cat /etc/sssd/sssd.conf [sssd] config_file_version = 2 reconnection_retries = 3 sbus_timeout = 30 services = nss, pam domains = LOCAL,LDAP debug_level = 5 [nss] filter_groups = root filter_users = root reconnection_retries = 3 entry_cache_timeout = 300 entry_cache_nowait_percentage = 75 [pam] reconnection_retries = 3 offline_credentials_expiration = 2 offline_failed_login_attempts = 3 offline_failed_login_delay = 5 [domain/LDAP] cache_credentials = true id_provider = ldap auth_provider = ldap ldap_uri = ldaps://my_hostname.my_domain.com ldap_search_base = dc=my_domain,dc=com ldap_id_use_start_tls = true ldap_tls_reqcert = never ldap_tls_cacert = /etc/pki/tls/certs/ca-bundle.crt debug_level = 5
这是sss_cache的错误?
我应该只是rm -f /var/lib/sss/db/cache_LDAP.ldb而不是?
在那一点上,我应该只是在sssd.conf设置cache_credentials = false ?
我不认为这是sss_cache的错误,你的configuration引用了一个名为LOCAL的域,但是该域没有被定义。 只需从domains行中删除LOCAL ,然后重试。
那是不一样的 sss_cache将过期时间戳设置为过去。 这会在下次强制执行查找,但不会完全删除条目,所以在客户端将脱机的情况下,它们仍然存在
这实际上取决于您是否希望允许用户在与服务器的连接丢失的情况下login。