一般勘定科目の読み取り順序

一般勘定科目の読み取り順序

私の認証はLDAPに集中しています。 LDAPなしで動作するログインシステムがあるため、私の/etc/passwdファイルに存在します。これはpam.dディレクトリにある私の一般的なアカウントファイルです。

account     required      pam_unix.so
account     sufficient    pam_succeed_if.so uid < 10000 quiet
account     [default=bad success=ok user_unknown=ignore] pam_ldap.so
account     required      pam_permit.so

これには問題はありませんが、一部のドキュメントではpam_ldap.so構成行が最初のものなので、このファイルがうまく配置されているかどうか疑問に思います。

答えてくれてありがとう。

答え1

authはい、そうですね。 (and notを使用する必要がある場合を除くaccount)各行を1つずつ分析してみましょう。

auth     required      pam_unix.so

pam_unixここでは、(標準パスワード認証)を通じてチェーンに入ります。このモジュールは、required何が起こってもチェーンが下向きに続くことを意味します。ただし、モジュールが失敗すると、チェーンは失敗としてマークされ、最終的にユーザーのアクセスが拒否される可能性があります。

auth     sufficient    pam_succeed_if.so uid < 10000 quiet

この行はリクエストのUIDをチェックします。モジュールが成功すると(ユーザーIDが10000未満)、モジュールがあるためチェーンが停止しますsufficient。ただし、前のモジュールで設定したフラグは変更されません。 UNIX 認証が失敗した場合、成功してrequiredもチェーンは失敗で終了します。pam_succeed_if

auth     [default=bad success=ok user_unknown=ignore] pam_ldap.so

私たちがここにいたらpam_succeed_if失敗しました(sufficientチェーンをモジュールで終了しなかったからです)。これは、UIDが10000より大きいことを意味します(これがLDAPユーザーに設定されたしきい値だと思います)。このモジュールの動作はもう少し詳細です。

  • 成功すると、チェーンは成功としてマークされます(ok)。これはUNIXモジュールの結果に対応し、チェーンを正常な状態に復元します。
  • ユーザーがLDAPサーバーに認識されていない場合、このモジュールは無視されます。チェーンの結果はですpam_unix
  • 他のすべての場合()は、UNIXが成功したかどうかにかかわらず、モジュールはdefaultチェーンを失敗()としてマークします。bad

最後に、ダミーモジュールがあります。

auth     required      pam_permit.so

このモジュールは毎回成功します。チェーンの状態を次のように設定するために使用されます。成功以前にモジュールが動作したことがない場合。しかし、これは決してあなたの場合ではありません。

関連情報