我已经能够设置389 LDAP服务器和SSSD客户端身份验证.但是,每次登录后使用ldap用户登录时都会显示错误
ttt@dsl's password: Last login: Thu Dec 6 12:52:06 2012 id: cannot find name for group ID 6006
我尝试了多个不同的用户和多种类型.我在服务器端和客户端都使用Centos 6. getent shadow不会返回ldap用户,并且Redhat.https://bugzilla.redhat.com/show_bug.cgi?id=751291已拒绝此功能请求.
或者我应该切换回nss_ldap / pam_ldap,但我可能无法获得sssd提供的密码缓存.
更新:
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]#
以用户身份登录后,我可以成功执行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
最后我能够解决它.
This article给了我很多帮助.
这就是我做的.在SSSD端,一切都配置正常,但是,我没有配置LDAP端.为了使Unix用户(posix用户)能够正常工作,我们必须创建posix组并分配适当的值.
对于每个用户,除了分配posix组ID和用户ID之外,还需要将它们附加到posix组.您也可以从389管理控制台添加它.创建组时只需单击“posix组”部分.或者从命令提示符使用this article