Результаты getent и ldapsearch противоречивы в отношении loginShell

У меня есть тест, который создает пользователя в LDAP с / bin / bash, и затем я изменяю атрибуты ldap на / bin / noshell, но результаты для getent и ldapsearch для оболочки несовместимы. Этот пользователь не существует в /etc/passwd.

Когда я делаю 'getent check72 passwd', я получаю:

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

Но когда я делаю команду ldapsearch, я получаю:

# 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=

Я перезапустил slapd и nscd, есть какие-либо подсказки? Заранее спасибо.

Мой nsswitch.conf выглядит так:

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

Вот мои установленные пакеты, связанные с 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                                

Любая помощь будет оценена.

1 ответ

nss-pam-ldapd Пакет позволяет использовать серверы каталогов LDAP в качестве основного источника информации службы имен. Когда я запускаю 'getent passwd', я вижу только пользователей из /etc/passwd файл. Когда я начал /etc/init.d/nslcd После того, как я запустил службу, а затем выполнил команду "getent passwd", я увидел, что все пользователи и системные пользователи LDAP и оболочки были синхронизированы.

Служба не запустилась, когда я установил пакет nss-pam-ldapd, я запустил его вручную, и теперь все работает как чудо.

Также порядок /etc/nsswitch.conf было очень важно:

 passwd:     files ldap sss   
 shadow:     files ldap sss   
 group:      files sss
Другие вопросы по тегам