Eu tento configurar um diretório LDAP que me permita autenticar usuários Debian. Depois que a configuração do servidor LDAP e dos arquivos PAM for concluída, a autenticação falhará. Eu acho que o cliente não encontra o usuário ldap no diretório. Quando tento fazer o login com um usuário ldap, ele diz um login incorreto e, quando tento fazer login com um usuário local, ele me pergunta uma senha e, em seguida, a senha do LDAP.
Servidor
1) Eu instalei pela primeira vez o ldap-utils libldap-2.4-2 libldap-2.4-2-dbg slapd slapd-dbg
2) No arquivo /etc/ldap/ldap.conf:
BASE dc=example,dc=com
URI ldap://192.168.1.254/
3)
dpkg-reconfigure slapd
Verifico se as informações sobre o domínio estão corretas: correto.
4)
ldapsearch -x
Adapta-se ao que eu escolhi antes.
5) Eu crio os arquivos .ldif para o diretório e os usuários
structure.ldif:
dn: ou=users,dc=example,dc=com
objectClass: organizationalUnit
u: users
description: users
dn: ou=computers,dc=example,dc=com
objectClass: organizationalUnit
ou: computers
description: computers
dn: ou=sale,ou=users,dc=example,dc=com
objectClass: organizationalUnit
ou: sale
description: sale
dn: ou=direction,ou=users,dc=example,dc=com
objectClass: organizationalUnit
ou: direction
description: direction
dn: cn=sale,ou=sale,ou=users,dc=example,dc=com
objectClass: posixGroup
gidNumber: 501
cn: sale
description: Sale group
dn: cn=direction,ou=direction,ou=users,dc=example,dc=com
objectClass: posixGroup
gidNumber: 502
cn: direction
description: Direction group
dn: cn=pauldupont,cn=direction,ou=direction,ou=users,dc=newsoft,dc=ch
cn=pauldupont,cn=direction,ou=direction,ou=users,dc=example,dc=com
objectClass: inetOrgPerson
objectClass: posixAccount
uid: pauldupont
userPassword: pauldupont
cn: pauldupont
uidnumber: 1050
gidnumber: 501
homeDirectory: /home/profils/pauldupont
sn: pauldupont
adduseringroup.ldif:
dc: cn=sale,ou=sale,ou=users,dc=example,dc=com
changetype: modify
add: memberuid
memberuid: uid=pauldupont,cn=direction,ou=direction,ou=users,dc=example,dc=com
6) Eu envio os arquivos para o diretório:
ldapadd -x -D "cn=admin,dc=example,dc=com" -W -f file.ldif
6)
ldapsearch -x
As informações estão lá.
Cliente
1) Eu instalei ldap-utils libldap-2.4-2 libldap-2.4-2-dbg slapd slapd-dbg libnss-ldap libpam-ldap libpam-módulos libpam-cracklib nscd
2) configuração do libnss-ldap: ip do servidor: 192.168.1.254, dc = example, dc = com
3) configuração libpam-ldap: não que o administrador LDAP seja como usuário local, não que o servidor LDAP solicite informações antes de fazer consultas
4)
dpkg-reconfigure libnss-ldap
As informações estão corretas.
5) No arquivo /etc/ldap/ldap.conf
BASE dc=example,dc=com
URI ldap://192.168.1.254/
6) No arquivo /etc/nsswitch.conf
passwd: compat ldap
group: compat ldap
shadow: compat ldap
7) No arquivo /etc/libnss-ldap.conf
base dc=example,dc=com
uri ldap://192.168.1.254/
ldap_version 3
rootbinddn cn=admin,dc=example,dc=com
8) No arquivo /etc/libnss-ldap.secret
ldap password
9) No arquivo /etc/pam_ldap.conf:
base dc=example,dc=com
uri ldap://192.168.1.254/
rootbinddn cn=admin,dc=example,dc=com
port 389
scope sub
bind_timelimit 30
idle_timelimit 3600
pam_filter objectClass=posixAccount
pam_login_attribute uid
10) Nos arquivos /etc/pam.d/common-auth & conta comum & sessão comum que eu adicionei na parte inferior:
auth sufficient pam_ldap.so
11) No arquivo /etc/pam.d/common-password eu adicionei na parte inferior:
password sufficient pam_ldap.so use_first_pass
12)
getent passwd && getent group
Mostra apenas usuários e grupos locais.
13) O cliente parece entrar em contato com o servidor:
ldapsearch -x -H "ldap://192.168.1.254" -b "dc=example,dc=com" dn
me devolve as entradas dn
14)
getent passwd pauldupont
Não me devolve nada e quando eu fizer o check in /var/log/auth.log:
May 12 10:43:36 CLI1-DIR-DEB nscd: nss_ldap: failed to bind to LDAP server ldap:///192.168.1.254/: Invalid credentials
May 12 10:43:36 CLI1-DIR-DEB nscd: nss_ldap: reconnecting to LDAP server...
May 12 10:43:36 CLI1-DIR-DEB nscd: nss_ldap: failed to bind to LDAP server ldap:///192.168.1.254/: Invalid credentials
May 12 10:43:36 CLI1-DIR-DEB nscd: nss_ldap: reconnecting to LDAP server...
May 12 10:43:37 CLI1-DIR-DEB nscd: nss_ldap: failed to bind to LDAP server ldap:///192.168.1.254/: Invalid credentials
May 12 10:43:37 CLI1-DIR-DEB nscd: nss_ldap: could not search LDAP server - Server is unavailable
Parece que as credenciais estão erradas. Eu verifiquei todos os arquivos de configuração acima e não consigo encontrar nenhum erro.
Alguém sabe onde está o problema?
Obrigado pela sua ajuda.
Estou usando o Debian Jessie 8.0 AMD64 para o cliente e o servidor
uname -a: Linux SRV1-DEB 3.16.0-4-amd64 # 1 SMP Debian 3.16.7-ckt9-3 ~ deb8u1 (2015-04-24) x86_64 GNU / Linux
OpenLDAP 2.4
EDIT : Depois de adicionar a senha no arquivo /etc/ldap.secret e fazer um getent passwd , recebo os usuários do ldap, mas ainda consigo ' t conectar.
Uma vez que tentei me conectar, eu tenho isso no arquivo de log:
May 18 09:09:53 CLI1-DIR-DEB login[904]: pam_mail(login:session): user unknown
May 18 09:09:53 CLI1-DIR-DEB login[904]: pam_loginuid(login:session): error_ log for user-name'pauldupont' does not exist
May 18 09:09:53 CLI1-DIR-DEB login[904]: pam_unix(login:session): session opened for user pauldupont by LOGIN(uid=0)
May 18 09:09:53 CLI1-DIR-DEB login[904]: pam_systemd(login:session): Failed to get user data
May 18 09:09:53 CLI1-DIR-DEB login[904]: pam_systemd(login:session): Failed to get user data
May 18 09:09:53 CLI1-DIR-DEB login[904]: User not known to the underlying authentication module