getent e os resultados do ldapsearch são inconsistentes em relação ao loginShell

3

Eu tenho um teste que cria um usuário no LDAP com / bin / bash e então modifico os atributos do ldap para / bin / noshell, mas os resultados de getent e ldapsearch são inconsistentes para o shell. Este usuário não existe em / etc / passwd.

Quando faço um checkent check72 passwd, recebo:

check72:*:6072:6072:Johnny Appleseed:/home/check72:/bin/bash

Mas quando eu faço um comando ldapsearch eu recebo:

# check72, people, wh.local
dn: uid=check72,ou=people,dc=wh,dc=local
uid: check72
cn: Johnny Appleseed
objectClass: account
objectClass: posixAccount
objectClass: top
objectClass: shadowAccount
userPassword:: e1NTSEF9OWVHdTdPVHIwVE15ajNQNEphdG9GR1cwZnQxa2Ftb3k=
shadowLastChange: 15140
shadowMax: 99999
shadowWarning: 7
uidNumber: 6072
gidNumber: 6072
homeDirectory: /home/check72
loginShell: /bin/noshell

# check72, group, wh.local
dn: cn=check72,ou=group,dc=wh,dc=local
objectClass: posixGroup
objectClass: top
cn: check72
gidNumber: 6072
userPassword:: e0NSWVBUfXg=

Eu reiniciei o slapd e o nscd, alguma pista? Agradecemos antecipadamente.

Meu nsswitch.conf é assim:

passwd:     files sss ldap
shadow:     files sss ldap
group:      files sss

Aqui estão meus pacotes instalados relacionados ao nss

nss.x86_64              3.13.6-2.el6_3  @updates                                
nss-pam-ldapd.x86_64    0.7.5-15.el6_3.2
nss-softokn.x86_64      3.12.9-11.el6   @anaconda-CentOS-201207061011.x86_64/6.3
nss-softokn-freebl.x86_64
nss-sysinit.x86_64      3.13.6-2.el6_3  @updates                                
nss-tools.x86_64        3.13.6-2.el6_3  @updates                                
nss-util.x86_64         3.13.6-1.el6_3  @updates                                

Qualquer ajuda será muito apreciada.

    
por usa ims 09.03.2013 / 00:15

1 resposta

2

O pacote nss-pam-ldapd permite que os servidores de diretório LDAP sejam usados como fonte primária de informações de serviço de nomes. Quando eu executar 'getent passwd', só verei os usuários do arquivo /etc/passwd . Quando iniciei o serviço /etc/init.d/nslcd e, em seguida, emiti o comando 'getent passwd', vi todos os usuários do LDAP e usuários do sistema e os shells foram sincronizados.

O serviço não foi iniciado quando eu instalei o pacote nss-pam-ldapd, eu o iniciei manualmente e agora tudo funciona como um encanto.

Além disso, a ordem do /etc/nsswitch.conf foi muito importante:

 passwd:     files ldap sss   
 shadow:     files ldap sss   
 group:      files sss
    
por 13.03.2013 / 16:35