最後の日、LDAP認証を使用してLinuxシステムをセットアップしましたが、すべてが正常に機能しますが、NSSとPAMについては、多くの調査の結果、まだ理解できないことがあります。
引用:
NSSにより、管理者は、認証ファイル、ホスト名、およびその他の情報を保存および検索するソースのリストを指定できます
そして
PAMは、アプリケーションおよび基盤となるオペレーティングシステム用の構成可能な認証プラットフォームを提供するライブラリのセットです。
私が理解していないのは、PAMとNSSがどのように連携し、相互作用するかです。で、この本アーキテクチャはかなりよく説明されている:私のconfigure PAMを使用するpam_ldap
LDAPを占め、のためにpam_unix
ローカルアカウントのために、そして私configureはnsswitch.conf
ローカルファイルとLDAPから情報を取得します。
LDAPが2回使用されていることを正しく理解している場合:最初にpam_ldap
、次にNSSによって呼び出されpam_unix
ます。そうですか?LDAPは本当に2回使用されていますか?しかし、なぜNSSとPAMの両方を構成する必要があるのですか?私の説明では、PAMはNSSとは異なるタスクを実行し、他のプログラムで使用されています。ただし、このページで読んだように、NSSのみまたはPAMのみを使用することが可能です。
だから私は少し実験して、最初にLDAPを削除しようとしましたnsswitch.conf
(そして、pam_ldapだけでは仕事をするのに十分ではないかのように動作するために認証が停止しました)。次に、NSSでLDAPを再度有効にし、PAM構成から削除しました(今回は、役に立たず、NSSでユーザーを認証するのに十分であるかのようにpam_ldap
、すべて正常に機能しました)。
これを明確にするのを手伝ってくれる人はいますか?事前に感謝します。
更新
私は今、何かを試しました。pam_ldap
すべてのPAM設定フィールドのすべてのエントリを再度削除しshadow: ldap
、からも削除しましたnsswitch.conf
。:今のようすべてのシステムでのみ行があるpasswd: ldap files
とgroup: ldap files
ではnsswitch.conf
。さて... LDAPユーザーのログインは完璧に機能/etc/ldap.conf
します。LDAP認証を設定するには、これら2行(プラス)で十分です。
NSSから独立した私の知識PAMからですが、私のテストではそうではありませんでした。自分自身に尋ねる私はそう完全に無効NSSすることが可能であり、唯一のPAMを使うのか?
getent shadow | grep LDAPUSER
grep LDAPUSER /etc/shadow