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

/etc/pad.d

/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-authcommon-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の細かな制御を実現するための設定ディレクトリです。各サービス・コマンドごとに柔軟な認証・管理ポリシーを設定できるため、システムのセキュリティを高める上で不可欠な存在です。設定変更時は、慎重に作業しましょう。