web-dev-qa-db-ja.com

「getentpasswd」はユーザーを列挙し、「su <username>」は失敗します

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

何が悪いのでしょうか?

1
Carlo

getent passwdはその一部であり、システムがユーザーを認識でき、LDAPが機能していることを示しますが、suはPAMも使用している可能性があり、PAMにはシステムユーザーリストだけでなく独自のルールセットがあります。 MINTを使用しているので、必ずPAMを使用しています。

/etc/pam.d/suファイルとそれがロードするファイルを確認してください。あなたは確かにそこにLDAP設定が欠けています。 このドキュメント を構成のベースとして使用します。

3
higuita