pam.conf / pam.d / *ファイルの「success = n」制御構文


16

Kerberosを正常に構成した後、これは/etc/pam.d/common-authファイルで見つけたものです。

auth    [success=2 default=ignore]      pam_unix.so nullok_secure
auth    [success=1 default=ignore]      pam_winbind.so krb5_auth krb5_ccache_type=FILE cached_login try_first_pass
auth    requisite                       pam_deny.so
auth    required                        pam_permit.so

ないsuccess=2場合は、その制御値の平均pam_unix.so 失敗し、認証にスキップauth requisite pam_deny.so行または最後の行には?

回答:


17

私の理解から、success=$num成功したときにスキップするルールの数を指定します。そのため、どちらかpam_unix.soまたはpam_winbind.so成功した場合、PAMは最終行にスキップします。もちろん、最終行ではすべての場合にアクセスが許可されます。


ただ明確にします; 行1と2は、どちらかが成功すると行4にスキップします。理にかなっています。
ジェイミー

私の他のPAM質問への回答もありがとう。私の質問はすべて無意味だった。sshログインを特定のユーザーリストに制限し、ドメイン認証を追加したときにそのことを忘れていました。Kerberosを追加すると、AD認証用にPAMファイルが正しく変更されました。
ジェイミー

2

pam.d(5)-Linux manページ

より複雑な構文の場合、有効な制御値の形式は次のとおりです
[value1=action1 value2=action2 ...]
。actionNには、「スタック内の次のn個のモジュールをジャンプする」アクションを示す符号なし整数nを指定できます

common-authの内容:

  1. ローカルUNIX認証が成功を返した場合、2つのモジュールを4番目のモジュールにジャンプします(モジュール1 + 2のモジュールからジャンプ->モジュール4)。それ以外の場合、ローカル認証の結果を無視して、次のモジュールに移動します。
  2. kerberos認証を使用するwinbind(最近はsssdに置き換えられました)がsuccessを返す場合、1つのモジュールをモジュール4にジャンプします。それ以外の場合、ローカル認証の結果を無視し、次のモジュールに移動します。
  3. 認証要求を拒否します。結果は拒否として確定され、PAMはそこで停止します(必要な制御のために定義されたアクション)。
  4. すべて許可します。結果はPERMITTEDとして確定されますが、次のモジュール(必要な制御のために定義されたアクション)に移動します。ただし、実行するモジュールが残っていないため、そこで終了します。
弊社のサイトを使用することにより、あなたは弊社のクッキーポリシーおよびプライバシーポリシーを読み、理解したものとみなされます。
Licensed under cc by-sa 3.0 with attribution required.