LinuCレベル2 ネットワーククライアントの管理 問19
ネットワーククライアントの管理/PAM認証/etc/pam.d/vsftpd に次の行がある。この行の動作として適切なものはどれか。 auth required pam_listfile.so item=user sense=deny file=/etc/vsftpd/ftpusers onerr=succeed
当サイトのオリジナル問題(LinuCレベル2の出題範囲「ネットワーククライアントの管理」に対応。実際の試験問題ではありません)
- A/etc/vsftpd/ftpusersに記載されたユーザーの認証を失敗させ、ログインを拒否する
- B/etc/vsftpd/ftpusersに記載されたユーザーだけに認証を許可し、他は拒否する
- C/etc/vsftpd/ftpusersに記載されたユーザーは、パスワード無しで認証を通す
- D/etc/vsftpd/ftpusersを読めなかったときに限り、すべてのユーザーを拒否する
正解:A
解説
pam_listfileは、ファイルに列挙した値(ユーザー名、グループ名、端末、接続元ホストなど)にもとづいてアクセスを許可・拒否するモジュールです。itemで照合する対象、fileで一覧ファイル、senseで一致したときの扱いを指定します。sense=denyなら一致したユーザーを失敗させ、sense=allowなら一致したユーザーを成功とします。onerrはファイルが読めない等のエラー時の扱いで、succeedならその場合は成功扱いになります。FTPで管理用アカウントのログインを禁止するのが典型的な使い方です。
選択肢ごとの解説
- A正しい。item=userとsense=denyの組み合わせにより、一覧ファイルに記載されたユーザーの認証が失敗し、requiredなので最終的にログインが拒否されます。
- B誤り。記載されたユーザーだけを許可するのはsense=allowを指定した場合の動作です。この行はsense=denyです。
- C誤り。pam_listfileは一致・不一致で成否を返すだけで、パスワード確認を省略させるモジュールではありません。
- D誤り。onerr=succeedはファイルが読めないなどのエラー時に成功を返す指定で、全員を拒否するのはonerr=failの場合です。