LinuCレベル2 202試験の例題と解説

2.07.2PAM認証

LinuCレベル2 202試験の試験範囲から「2.07.2 PAM認証」についての例題を解いてみます。
このテーマでは、さまざまな認証方式を管理するPAMに関する内容が含まれます。システムへのログイン時・リモートアクセス時・アプリケーション認証などに用いられる仕組みですので、しっかりと把握しておきましょう。

Linucレベル2 202試験 出題範囲


例題

PAMの設定において、ユーザ認証前後に実行する処理を指定するものはどれか。

  1. account
  2. auth
  3. password
  4. session

※この例題は実際の試験問題とは異なります。


解答と解説

正解は、「4.session」です。

PAMはPluggable Authentication Modulesの略で、さまざまな認証を管理する仕組みです。

各設定ファイルは、/etc/pam.dに格納されます。

ubuntu@ubuntu20:/etc/pam.d$ ls
atd   chpasswd  common-account  common-password  common-session-noninteractive  login     other   polkit-1  runuser    sshd  sudo  systemd-user
chfn  chsh      common-auth     common-session   cron                           newusers  passwd  ppp       runuser-l  su    su-l  vmtoolsd

設定ファイルには以下のタイプ・フラグを記載します。

タイプ

accountアカウントの有効期限などアクセス許可を確認
authユーザ認証を実施
passwordユーザパスワードの変更に使用
sessionユーザ認証前後に実行する処理を指定

フラグ

required認証に失敗した場合、同タイプの処理を全て実行後認証を拒否
requisite認証に失敗した場合、即座に認証を拒否
sufficient以前に処理されたrequiredが全て成功である、かつこの認証が成功すれば認証を許可
optionalrequiredがない、sufficientが一つも成功されていない場合に利用される

例えば、loginプログラムの場合、以下な設定が行われています。

ubuntu@ubuntu20:/etc/pam.d$ cat login 
auth       optional   pam_faildelay.so  delay=3000000
auth       requisite  pam_nologin.so
session [success=ok ignore=ignore module_unknown=ignore default=bad] pam_selinux.so close
session    required     pam_loginuid.so
session    optional   pam_motd.so motd=/run/motd.dynamic
session    optional   pam_motd.so noupdate
session [success=ok ignore=ignore module_unknown=ignore default=bad] pam_selinux.so open
session       required   pam_env.so readenv=1
session       required   pam_env.so readenv=1 envfile=/etc/default/locale
@include common-auth
auth       optional   pam_group.so
session    required   pam_limits.so
session    optional   pam_lastlog.so
session    optional   pam_mail.so standard
session    optional   pam_keyinit.so force revoke
@include common-account
@include common-session
@include common-password

PAMに関する詳細は、以下で確認できます。
https://access.redhat.com/documentation/ja-jp/red_hat_enterprise_linux/7/html/system-level_authentication_guide/pam_configuration_files
https://wiki.archlinux.jp/index.php/PAM


例題作成者

鯨井 貴博 (LinuCエヴァンジェリスト/登録インストラクター、LPI-Japanアカデミック認定校 Zeus IT Camp)

ページトップへ