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 )
これが適切な解決策かどうかはわかりませんが、 SSSD FAQ この点に気づきました:
SSSDで列挙を有効にする必要があるのはいつですか?または列挙がデフォルトで無効になっているのはなぜですか?
「列挙」とは、「特定のマップ(ユーザー、グループなど)のすべての値を読み込んで表示する」というSSSDの用語です。 SSSDが通信する必要があるサーバーの負荷を最小限に抑えるために、SSSDではこれをデフォルトで無効にします。ほとんどの操作では、ユーザーまたはグループの完全なセットをリストする必要はありません。アプリケーションは通常、特定のユーザーまたはグループに関する情報を要求します。
すべてのエントリを列挙すると、サーバーの負荷とクライアントのパフォーマンスに悪影響を与えます(ユーザーとユーザーが属するグループ間の複雑な関係をすべてローカルキャッシュに保存する必要があるため)。そのため、このため、列挙型を無効にして出荷しています(Sambaプロジェクトのwinbindと同じ動作)。
環境内に完全なリストを取得できる必要があるアプリケーションまたはスクリプトがある場合にのみ、列挙(および結果として生じるパフォーマンスの問題)を有効にする必要があります。これらの場合、列挙を有効にすることができます設定
[domain/<domainname>] enumerate = true ...
sssd.confファイル内。
これにより、getent passwd
SSSD経由で利用できたすべてのアカウントを表示します。これはパフォーマンスを低下させる可能性があることに注意してください。