libpam_ldapd - pam_ldap (sshd: account): 'Não foi possível identificar o usuário'

1

Estou tentando testar o procedimento de instalação do libpam_ldapd em uma máquina Ubuntu / Debian Virtual.

Eu tenho os serviços nscd / nslcd desativados e estou assistindo a saída de nslcd -d e /var/log/auth.log ,

Meus filtros / mapas que eu configurei em nslcd.conf estão funcionando corretamente, estou usando apenas o ldap para senhas - o que significa que eu só quero verificar as senhas das contas que já existem no sistema, por isso estou apenas usando:

shadow files ldap em /etc/nsswitch.conf

A saída de nslcd -d diz que a ligação está funcionando bem, mas o log de autenticação está dizendo:

sshd[]: pam_ldap(sshd:auth): username changed from rovangju to RovangJu
sshd[]: pam_unix(sshd:account): could not identify user (from getpwnam(RovangJu))
sshd[]: Failed password for rovangju from 127.0.0.1 port 44245 ssh2

O console que está tentando fazer o login SSH não recebe erros:

rovangju@vbox-u64:~$ ssh 0
rovangju@0's password: [enter correct password]
Connection closed by 127.0.0.1

É evidente que a ligação está usando o cn / uid da propriedade ldap, que é um nome de usuário com letras maiúsculas, no entanto nomes de usuário unix são todos minúsculos. Alguém sabe como resolver isso?

A coisa mais próxima que encontrei para esse problema está aqui: link

Obrigado antecipadamente!

Editar: Outro kicker é este: Por alguma razão, posso enganar o módulo fazendo isso:

rovangju@vbox-u64:~$ ssh 0
rovangju@0's password: [enter WRONG password]
Permission denied, please try again
rovangju@0's password: [enter CORRECT password]
[and bingo, I'm in]
    
por thinice 08.06.2011 / 21:45

1 resposta

1

Para contornar a questão do nome de usuário do ldap sendo usado (com os casos superiores) - eu comentei um bloco do código-fonte:

nss-pam-ldapd-0.x.x / nslcd / pam.c: L120-125

/* check if the username is different and update it if needed */
/*if (strcmp(username,value)!=0)
{
  log_log(LOG_INFO,"username changed from \"%s\" to \"%s\"",username,value);
  strcpy(username,value);
}*/
    
por 13.03.2012 / 16:33