Centos客户端通过ldap对zentyal DC进行身份validation

我有一个问题。 3个月前,我们在自己的工作场所部署了一个zentyal dc,因为这是在同一台服务器上validationwindows,linux和mac的好方法。 我在Windows上获得authentication,就像一个魅力。 我通过LDAPauthentication的Ubuntu客户端,他们工作的很好,但我遇到了下一个操作系统的问题。

在我们的Centos客户端上,我首先尝试实现与我们的ubuntu客户端相同的ldapconfiguration。 然后我尝试用winbind和kerberos进行身份validation。 工作的亚伊,但是一个大问题发生了。 当我运行getent passwd时,发现UID和GID与zentyal DC不匹配,这意味着当我挂载home文件夹时,用户没有权限进入它们,因为home文件夹有zentyal dc的UID和GID。 我研究过它与idmaps有关。 我尝试了一些不同的方法,但最终放弃了。

这就是为什么我认为我应该再次尝试ldap,因为它在ubuntu客户端上工作。 所以我现在的问题是:如何configuration一个centos 6-7机器通过ldap对zentyal DC进行身份validation?

我在Ubuntu机器上的ldap.conf如下所示:

base dc=mosek,dc=zentyal uri ldap://172.16.0.5:390 ldap_version 3 binddn cn=zentyalro,dc=mosek,dc=zentyal bindpw secretpasswd scope sub bind_policy soft pam_password md5 nss_base_passwd ou=Users,dc=mosek,dc=zentyal?one nss_base_passwd ou=Computers,dc=mosek,dc=zentyal?one nss_initgroups_ignoreusers avahi,avahi-autoipd,backup,bin,colord,daemon,dnsmasq$ 

我如何将这个configuration转换成centos可以使用的东西?

我迄今为止所做的事情:

运行authconfig-tui并将其设置为ldap

/etc/openldap/ldap.conf/etc/ldap.conf在centos客户端上:

 TLS_CACERTDIR /etc/openldap/cacerts SASL_NOCANON on URI ldap://172.16.0.5:390 BASE dc=mosek,dc=zentyal 

/etc/nsswitch.conf在centos客户端上:

 passwd: files sss ldap shadow: files sss ldap group: files sss ldap hosts: files dns bootparams: nisplus [NOTFOUND=return] files ethers: files netmasks: files networks: files protocols: files rpc: files services: files sss netgroup: files sss ldap publickey: nisplus automount: files ldap aliases: files nisplus 

运行命令ldapsearch -D "uid=tomas,ou=Users,dc=mosek,dc=zentyal" -Z -LLL -W uid=tomas

输出:

 ldap_start_tls: Protocol error (2) additional info: unsupported extended operation Enter LDAP Password: dn: uid=tomas,ou=Users,dc=mosek,dc=zentyal objectClass: inetOrgPerson objectClass: posixAccount objectClass: passwordHolder objectClass: systemQuotas objectClass: krb5Principal objectClass: krb5KDCEntry objectClass: shadowAccount objectClass: zentyalSambaLink uid: tomas loginShell: /bin/bash gidNumber: 1901 homeDirectory: /home/tomas krb5PrincipalName: [email protected] krb5MaxLife: 86400 krb5MaxRenew: 604800 krb5KDCFlags: 126 uidNumber: 3000044 .... 

重新启动客户端,但在运行命令id tomas时,仍然没有用户名为id tomas

编辑:

我编辑我的/etc/nslcd.conf看起来像这样:

 # The user and group nslcd should run as. uid nslcd gid ldap uri ldap://172.16.0.5:390 ldap_version 3 base dc=mosek,dc=zentyal binddn cn=zentyalro,dc=mosek,dc=zentyal bindpw secretpassword # The distinguished name to perform password modifications by root by. #rootpwmoddn cn=admin,dc=example,dc=com # The default search scope. scope sub base group ou=Groups,dc=mosek,dc=zentyal?one base passwd ou=Users,dc=mosek,dc=zentyal?one 

仍然没有用户

编辑:

我试图在debugging模式下运行nslcd,并得到这个:

 [root@centosy ~]# nslcd -d nslcd: DEBUG: add_uri(ldap://172.16.0.5:390) nslcd: version 0.8.13 starting nslcd: DEBUG: unlink() of /var/run/nslcd/socket failed (ignored): No such file or directory nslcd: DEBUG: initgroups("nslcd",55) done nslcd: DEBUG: setgid(55) done nslcd: DEBUG: setuid(65) done nslcd: accepting connections 

在最后一行之后,它就不会启动ldap服务器