web-dev-qa-db-ja.com

getentとldapsearchの結果がloginShellに関して一貫していません

LDAPで/ bin/bashを使用してユーザーを作成するテストがあり、次にldap属性を/ bin/noshellに変更しましたが、getentとldapsearchの結果がシェルで一貫していません。このユーザーは/ etc/passwdに存在しません。

「getentcheck72passwd」を実行すると、次のようになります。

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                                

どんな助けでも大歓迎です。

3
usa ims

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
2
usa ims