it-swarm-ja.com

getent passwdが機能しません。 CentOS 7およびSSSD LDAP認証

CentOS 7を新しいサーバーにインストールしました。私のすべてのサーバーは、RHEL5、Debian、SolarisなどのさまざまなシステムでLDAPSを介してエンドユーザー認証を取得します。 CentOS 7には、NSSおよびPAMよりもSSS上の新しいレイヤーがあることに気付きました。とにかく、私は他のサーバーと同じタイプの接続を複製しようとします。

コマンドldapsearch -xはLDAPではバインドされていますが、LDAPSではバインドされていません。

問題を掘り下げながら、これらの行を/etc/nsswitch.confに入れて、SSSレイヤーを絞ってLDAPで接続を試みました

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

そして、この行を/etc/sssd/sssd.confに追加しました

cache_credentials = False

そして、ssdを再起動しました。

systemctl restart sssd

コマンドauthconfig --testを使用して確認すると、すべてが問題ないようです:( http://www.heypasteit.com/clip/1LZ2

9
dubis

これが適切な解決策かどうかはわかりませんが、 SSSD FAQ この点に気づきました:

SSSDで列挙を有効にする必要があるのはいつですか?または列挙がデフォルトで無効になっているのはなぜですか?

「列挙」とは、「特定のマップ(ユーザー、グループなど)のすべての値を読み込んで表示する」というSSSDの用語です。 SSSDが通信する必要があるサーバーの負荷を最小限に抑えるために、SSSDではこれをデフォルトで無効にします。ほとんどの操作では、ユーザーまたはグループの完全なセットをリストする必要はありません。アプリケーションは通常、特定のユーザーまたはグループに関する情報を要求します。

すべてのエントリを列挙すると、サーバーの負荷とクライアントのパフォーマンスに悪影響を与えます(ユーザーとユーザーが属するグループ間の複雑な関係をすべてローカルキャッシュに保存する必要があるため)。そのため、このため、列挙型を無効にして出荷しています(Sambaプロジェクトのwinbindと同じ動作)。

環境内に完全なリストを取得できる必要があるアプリケーションまたはスクリプトがある場合にのみ、列挙(および結果として生じるパフォーマンスの問題)を有効にする必要があります。これらの場合、列挙を有効にすることができます設定

   [domain/<domainname>]
   enumerate = true
   ...

sssd.confファイル内。

これにより、getent passwd SSSD経由で利用できたすべてのアカウントを表示します。これはパフォーマンスを低下させる可能性があることに注意してください。

9
slm