我已经能够设置389 LDAP服务器和SSSD客户端身份validation。 但是,每次login后使用ldap用户login时都会显示错误
ttt@dsl's password: Last login: Thu Dec 6 12:52:06 2012 id: cannot find name for group ID 6006
我尝试了多个不同的用户和多种types。 我在服务器和客户端都使用Centos 6。 getent shadow不会返回ldap用户,这个function请求被Redhat拒绝。 https://bugzilla.redhat.com/show_bug.cgi?id=751291 。
或者我应该切换回nss_ldap / pam_ldap,但是我可能不会获得sssd提供的密码caching。
更新:
root@dsl etc]# cat /etc/sssd/sssd.conf [domain/default] ldap_tls_reqcert = never ldap_id_use_start_tls = True cache_credentials = True ldap_search_base = dc=ma,dc=net #krb5_realm = EXAMPLE.COM #krb5_server = kerberos.example.com ldap_group_member = uniquemember id_provider = ldap auth_provider = ldap chpass_provider = ldap ldap_uri = ldaps://ldap.ma.net ldap_tls_cacertdir = /etc/openldap/cacerts krb5_realm = EXAMPLE.COM krb5_server = kerberos.example.com enumerate = false [sssd] services = nss, pam config_file_version = 2 #domains = LDAP domains = [nss] filter_users = root,ldap,named,avahi,haldaemon,dbus,radiusd,news,nscd [pam] reconnection_retries = 3 offline_credentials_expiration = 2 offline_failed_login_attempts = 3 offline_failed_login_delay = 5 [sudo] [autofs] [ssh] [root@dsl etc]#
作为用户login后,我可以成功执行ID命令,仍然想知道为什么它总是说没有这样的组。
[root@ldap02 ~]# ssh ttt@dsl ttt@dsl's password: Last login: Thu Dec 6 13:18:16 2012 from 10.2.3.69 id: cannot find name for group ID 6006 [ttt@dsl ~]$ id ttt uid=6006(ttt) gid=6006 groups=6006
也
[root@dsl ~]# groups ttt ttt : groups: cannot find name for group ID 6006 6006 [root@dsl ~]# groups ttt
最后我能解决它。 这篇文章帮了我很多。
这是我做的。 在SSSD方面一切都configuration好,但是,我没有configurationLDAP端。 为了使Unix用户(posix用户)正常工作,我们必须创buildposix组并分配适当的值。
对于每个用户,除了分配posix组ID和用户ID之外,还需要将它们附加到posix组。 您也可以从389pipe理控制台添加此项。 创build组只需点击“posix组”部分。 或者从命令提示符使用这篇文章