2つのBDBバックエンドを備えたLDAPサーバーがあります。ユーザーアカウントは2つのバックエンドに分割されます。バックエンドAには、バックエンドBへの参照オブジェクトがあります。
Linux Mint 13でLDAPクライアント認証をセットアップしようとしました。getentpasswdは、バックエンドAとバックエンドBの間のユーザーを一覧表示しますが、su-を使用すると、suは「不明なID」を返します。ただし、バックエンドAのユーザーIDでsuを使用しても問題なく機能します。
以下は、クライアント(Linux Mint 13)の/etc/ldap/ldap.confです。
base dc=backendA
uri ldaps://ldap.x.example.com
ldap_version 3
binddn cn=auth,dc=backendA
bindpw admin@123
referrals yes
そして、クライアントの/etc/ldap.conf:
base dc=backendA
uri ldaps://ldap.x.example.com
ldap_version 3
binddn cn=auth,dc=backendA
bindpw admin@123
rootbinddn cn=admin,dc=backendA
pam_password md5
deref always
referrals yes
nss_base_passwd ou=users,dc=backendA?one
nss_base_shadow ou=users,dc=backendA?one
nss_base_group ou=roles,dc=backendA?one
nss_base_passwd ou=users,dc=backendB?one
nss_base_shadow ou=users,dc=backendB?one
nss_base_group ou=roles,ou=users,dc=backendB?one
何が悪いのでしょうか?
getent passwdはその一部であり、システムがユーザーを認識でき、LDAPが機能していることを示しますが、suはPAMも使用している可能性があり、PAMにはシステムユーザーリストだけでなく独自のルールセットがあります。 MINTを使用しているので、必ずPAMを使用しています。
/etc/pam.d/suファイルとそれがロードするファイルを確認してください。あなたは確かにそこにLDAP設定が欠けています。 このドキュメント を構成のベースとして使用します。