getent passwd が動作しない; CentOS 7 と SSSD LDAP 認証

getent passwd が動作しない; CentOS 7 と SSSD LDAP 認証

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

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

問題を掘り下げながら、私はLDAPで接続してSSSレイヤーを圧迫しようとしました。/etc/nsswitch.conf

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

答え1

これが適切な解決策かどうかはわかりませんが、SSSD に関するよくある質問この点:

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

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

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

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

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

sssd.conf ファイル内。

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

関連情報