Eu tenho um pequeno problema. Há 3 meses implantamos um zentyal dc no meu local de trabalho porque era uma boa maneira de autenticar as janelas, o linux e o mac no mesmo servidor. Eu tenho autenticação no windows trabalhando como um encanto. os clientes ubuntu eu autenticados via ldap, e eles funcionaram bem, mas eu tive um problema com o próximo sistema operacional.
em nossos clientes centos, primeiro tentei implementar as mesmas configurações de ldap que em nossos clientes ubuntu. Eu então tentei autenticar com winbind e kerberos. yaii que funcionou, mas um grande problema ocorreu. Quando eu corri getent passwd, descobri que o UID e GID não estão combinando com o zentyal DC, o que significa que quando eu nfs montar a pasta inicial, os usuários não têm permissão para entrar neles, porque as pastas base têm o zentyal dc's UID e GID. Eu pesquisei que tinha algo a ver com idmaps. Eu tentei algumas abordagens diferentes, mas desisti no final.
É por isso que eu acho que devo tentar o ldap novamente, já que funcionou nos clientes ubuntu. Então, minha pergunta agora é: como eu configuro uma máquina centos 6-7 para autenticar contra um zentyal DC via ldap?
meu ldap.conf na máquina do ubuntu tem esta aparência:
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$
como faço para converter essa configuração em algo que centos podem usar?
Coisas que fiz até agora:
executou authconfig-tui
e configurou para o ldap
/etc/openldap/ldap.conf
e /etc/ldap.conf
no cliente centos:
TLS_CACERTDIR /etc/openldap/cacerts
SASL_NOCANON on
URI ldap://172.16.0.5:390
BASE dc=mosek,dc=zentyal
/etc/nsswitch.conf
no cliente 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
executando o comando ldapsearch -D "uid=tomas,ou=Users,dc=mosek,dc=zentyal" -Z -LLL -W uid=tomas
saída:
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
....
reiniciou o cliente, mas ainda nenhum usuário chamado tomas ao executar o comando id tomas
EDITAR:
Eu editei meu /etc/nslcd.conf
para ficar assim:
# 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
Ainda sem usuários
EDITAR:
Eu tentei executar o nslcd no modo de depuração e consegui isto:
[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
após a última linha, ele apenas pega, então ele nunca pega o servidor ldap