+ PAM
created 2005-01-05 modified 2005-01-05
PAM = Pluggable Authentication Modules
- 認証機能が必要なプログラムについて、認証方式を変更する場合でも再コンパイルしなくていいいように、必要な機能をモジュール化し、DLL(.soファイル)に実装。
- 設定ファイルを固めて置くことで可管理性の向上を図る。
pam:2.設定ファイル
pam:3.設定ファイル書式
pam:4.モジュールのタイプ(type)と制御フラグ(control)
pam:5.モジュール
1.ドキュメント
ドキュメント | 備考 |
---|---|
man pam | |
/usr/share/doc/pam-バージョン番号/ 以下のファイル | |
第8章PAM(Pluggable Authentication Modules) | RedHat7のドキュメント |
2.設定ファイル
場所 |
---|
/etc/pam.conf |
/etc/pam.d/サービス名 |
サービス名(service)には、一般的にクライアントプログラムの名前をつける。
例えば /etc/pam.d/wu-ftpd ではなく /etc/pam.d/ftp。
dovecotは0.99では /etc/pam.d/dovecot だが 1.0betaでは /etc/pam.d/imap 等になってる。
誰かが指摘して修正したのだろう。
3.設定ファイル書式
サービス名(service) | タイプ(type) | 制御フラグ(control) | モジュールパス(module-path) | モジュール引数(module-arguments) |
/etc/pam.d/サービス名 ファイルの場合、先頭のサービス名カラムは省略される。
4.モジュールのタイプ(type)と制御フラグ(control)
タイプ(type) | 役割 |
---|---|
auth | パスワード等でそのユーザの同一性をチェックする(=認証する) |
account | 期限切れなどをチェックする |
password | 期限切れなどで認証前にパスワード変更が必要なときに利用 |
session | 認証後の追加タスクを実行、など |
制御フラグ(control) | 備考 |
---|---|
required | 必須。失敗通知は同一のサービス+タイプを全部チェックするまで遅延される |
requisite | 必須。失敗すると直ちに通知 |
sufficient | 失敗してもヨシ |
optional | 失敗してもヨシ |
5.モジュール
場所 |
---|
/lib/security/*.so |
同一のモジュールファイル(.so)内に複数タイプの機能が実装されていることもある。