/etc/pam.d/:PAM(Pluggable Authentication Modules)の設定

目次
/etc/pam.d/についての概要と詳細
/etc/pam.d/とは
/etc/pam.d/ は、LinuxやUNIXシステムで認証・認可の仕組みを制御するPAM(Pluggable Authentication Modules)モジュールの設定ファイルが格納されるディレクトリです。各種サービスやコマンドごとに細かな認証ポリシーを柔軟に定義できるのが特徴です。
PAM(Pluggable Authentication Modules)とは
PAMは、システムの認証やアカウント管理・パスワード管理・セッション管理などを、モジュール形式で一元的に設定できる仕組みです。これにより、認証方法の切り替えや追加(例:2段階認証、指紋認証、LDAP連携など)が容易になります。
主な役割
- ユーザー認証(ログイン、su、sudo、sshなど)
- アカウント有効性チェック(期限切れやロックの判定)
- パスワードの変更や複雑度チェック
- セッション開始・終了時の処理(環境変数設定、リソース制御など)
構成とファイル例
/etc/pam.d/ 配下には、各サービスやコマンドに対応する設定ファイルが配置されています。たとえば:
/etc/pam.d/login:ローカルログイン用/etc/pam.d/sshd:SSHログイン用/etc/pam.d/sudo:sudoコマンド用/etc/pam.d/su:suコマンド用/etc/pam.d/common-auth、common-session:Debian系で共通設定として利用
設定ファイルの記述例
# /etc/pam.d/sshd の例(一部抜粋)
auth required pam_sepermit.so
auth substack password-auth
account required pam_nologin.so
session required pam_selinux.so close- auth: 認証(パスワードや公開鍵など)の処理
- account: アカウントの有効性チェック
- password: パスワードの変更管理
- session: セッション開始・終了時の処理
編集時の注意点
- 認証系のミスはログイン不能など致命的な障害につながるため、編集前にバックアップを必ず取得
- 設定変更後は、別のターミナルやセッションで動作確認すること(誤設定時の復旧用)
- 高度な認証(例:2要素認証)もPAMモジュール追加で柔軟に対応可能
まとめ
/etc/pam.d/ は、Linux認証基盤であるPAMの細かな制御を実現するための設定ディレクトリです。各サービス・コマンドごとに柔軟な認証・管理ポリシーを設定できるため、システムのセキュリティを高める上で不可欠な存在です。設定変更時は、慎重に作業しましょう。





