LinuCレベル2 202試験の例題と解説
2.07.2PAM認証
LinuCレベル2 202試験の試験範囲から「2.07.2 PAM認証」についての例題を解いてみます。
このテーマでは、さまざまな認証方式を管理するPAMに関する内容が含まれます。システムへのログイン時・リモートアクセス時・アプリケーション認証などに用いられる仕組みですので、しっかりと把握しておきましょう。
例題
PAMの設定において、ユーザ認証前後に実行する処理を指定するものはどれか。
- account
- auth
- password
- 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が全て成功である、かつこの認証が成功すれば認証を許可 |
optional | : | requiredがない、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)