pam_ssh_agent_auth.so
SSH pubkeyを介して認証するときにsudoを使用する一部のユーザーにパスワードのない環境を提供するように設定しようとしています。
私は見始めたGentoo Wiki、使用することをお勧めします
...
auth [success=3 default=ignore] pam_ssh_agent_auth.so file=/etc/ssh/sudo_authorized_keys
auth include system-auth <- 1st skipped
account include system-auth <- 2nd skippedm
session include system-auth <- 3rd skipped
... <- should continue from here
私はFedoraを着用していますが、/etc/pam.d/sudo
次のようになります。
auth [success=3 default=ignore] pam_ssh_agent_auth.so file=/etc/ssh/sudo_authorized_keys
auth include system-auth
account include system-auth
password include system-auth
session optional pam_keyinit.so revoke
session required pam_limits.so
session include system-auth
私はPAMの専門家ではありませんが、マニュアルページを見ると、success=3
「このルールが成功すると次の3行をスキップします」と解釈します。そのため、ユーザーが正しくログインし、プロキシがあればパスワードを取得することを期待しています。聞かないでください。
ああ、これはうまくいきません。とにかくパスワードの入力を求められます。
[success=3 default=ignore]
usingを使用せずに単に使用すると、基本的に同じだと思われ、認証は期待どおりに機能します。sufficient
この場合、モジュールスタックは次の3つのモジュールで構成されているため、違いは見られません。
明らかに使用[success=3 default=ignore]
し、sufficient
同じ結果が得られないのと同じではありません。
誰かが実際の違いが何であるか、この場合電子が機能しない理由を説明できますか?
ありがとう
ベストアンサー1
まず、include
その行はPAMモジュールではありません。計算ではなく
auth include system-auth
スキップしたエントリとして、PAMライブラリはauth include
この行をauth
に置き換えます/etc/pam.d/system-auth
。したがって、スキップされた3行を確認するには、[success=3 default=ignore]
まずinclude
そのステートメントをファイルの適切な内容に置き換えてから、system-auth
スキップされた行数を数える必要があります。 。
[success=3 default=ignore]
第二に、モジュールタイプ全体で動作しないと思います。
ユーザーを認証すると、アプリケーションは最初の呼び出しを実行しますがpam_authenticate()
、その間にPAMライブラリはauth
そのタイプの項目のみを処理します。ユーザーが正常に認証されると、アプリケーションはそのタイプの項目のみを処理するpam_acct_mgmt()
ものを呼び出すことができます。account
完了すると、pam_open_session()
そのタイプの項目のみが処理されますsession
。
認証パス、アカウント管理パス、セッション設定パスは異なる操作なので、auth [success=3 default=ignore]
次の3行だけをスキップすることができると思いました。auth
タイプのみ。あなたの場合、スキップされた行は/etc/pam.d/system-auth
ファイルの内側にあります。
を使用すると、行にリストされているモジュールが認証の成功を報告すると、行の処理がすぐに停止されることauth sufficient
を意味します。つまり、ファイルの行数に関係なく、すべての行をスキップします。auth
auth sufficient
auth
system-auth
を使用しauth [success=3 default=ignore]
てauth
次の行に行がある場合は、含まれているinclude
ファイルも調べて、何が起こるのかを正確に理解する必要があります。これを行うときにまだパスワードを要求するという事実は、ファイルにauth
3行以上があることを明らかに示していますsystem-auth
。