LinuCレベル3 セキュリティスペシャリスト 認証・認可 問15
認証・認可/PAM による認証制御PAMの設定で使われるモジュールに関する説明として、正しいものをすべて選べ。
当サイトのオリジナル問題(LinuCレベル3 セキュリティスペシャリストの出題範囲「認証・認可」に対応。実際の試験問題ではありません)
- Apam_env.so は、各ユーザーのホームディレクトリにある ~/.bashrc を読み込み、そこに書かれた環境変数をセッションに設定する
- Bpam_systemd.so は、ログインしたセッションを systemd-logind に登録し、ユーザーの /run/user/<UID> などを用意させる
- Cpam_keyinit.so は、プロセスがユーザー既定のものとは別のセッションキーリングを持つようにし、revoke でその失効も指定できる
- Dpam_permit.so は、/etc/security/access.conf で許可されたユーザーに対してだけ、認証やアカウントの確認で成功を返す
正解:B、C
解説
pam_systemd はセッションを systemd-logind に登録するモジュールで、登録によってユーザーのランタイムディレクトリ /run/user/<UID> が作られ、XDG_RUNTIME_DIR などの環境変数が設定されます。pam_keyinit は、ログインしたプロセスがユーザー既定のセッションキーリングではなく、そのセッション用のキーリングを持つようにするモジュールで、revoke を付けるとセッションの終了時にそのキーリングを失効させます。pam_env は /etc/security/pam_env.conf や /etc/environment にもとづいて環境変数を設定するもので、シェルの設定ファイルは読みません。pam_permit は条件を問わず常に成功を返すモジュールで、使い方を誤ると誰でも認証を通れてしまいます。
選択肢ごとの解説
- A誤り。pam_env は /etc/security/pam_env.conf や /etc/environment にもとづいて環境変数を設定するモジュールで、~/.bashrc のようなシェルの設定ファイルは読みません。
- B正しい。pam_systemd はセッションを systemd-logind に登録し、/run/user/<UID> の作成や XDG_RUNTIME_DIR の設定につなげます。
- C正しい。pam_keyinit はセッション用のキーリングをプロセスに持たせるモジュールで、revoke を付けるとセッション終了時に失効させます。
- D誤り。pam_permit は条件を確かめずに常に成功を返すモジュールです。access.conf にもとづいてアクセスを判定するのは pam_access です。