Red Hat Training

A Red Hat training course is available for Red Hat Enterprise Linux

10.3. PAM と管理認証情報のキャッシング

GNOME のコントロールセンターなど、Red Hat Enterprise Linux の多くのグラフィカル管理ツールは、pam_timestamp.soモジュールを使用して最大 5 分間ユーザーに昇格された特権を提供します。このメカニズムの仕組みを理解することが重要です。これは、pam_timestamp.so が有効なときににターミナルから出るユーザーが、コンソールに物理的にアクセスできるユーザーすべてがマシンを変更できる状態のままにするためです。
PAM タイムスタンプスキームでは、グラフィカル管理アプリケーションにより、起動時に root パスワードの入力が求められます。ユーザーが認証されたとき、pam_timestamp.so モジュールはタイムスタンプファイルを作成します。デフォルトでは、これは /var/run/sudo/ ディレクトリーに作成されます。タイムスタンプファイルがすでに存在する場合は、グラフィカル管理プログラムではパスワードの入力が求められません。代わりに、pam_timestamp.so モジュールはタイムスタンプファイルを最新の状態にし、ユーザーの不完全な管理アクセスを 5 分追加で保持します。
/var/run/sudo/user ディレクトリーのファイルを確認して、タイムスタンプファイルの実際の状態を確認できます。デスクトップでは、関連するファイルは unknown:root です。これが存在し、タイムスタンプが 5 分未満の場合は、認証情報が有効です。
タイムスタンプファイルが存在すると、パネルの通知スペースに認証アイコンが表示されます。

図10.1 認証アイコン

認証アイコン

10.3.1. 一般的な pam_timestamp ディレクティブ

pam_timestamp.so モジュールは以下の 2 つのインターフェイスを提供します。
  • auth
  • session
さらに、pam_timestamp.so では以下のオプションを使用することができます。
  • timestamp_timeout: タイムスタンプファイルの有効期間 (秒単位) を指定します。デフォルトは 300(5 分) です。
  • timestampdir: タイムスタンプファイルを保存するディレクトリーを指定します。デフォルトは /var/run/sudo/ です。
  • 詳細なメッセージに verbose または debug を使用することもできます。
以下に例を示します。
auth       sufficient    pam_timestamp.so timestamp_timeout=600
session    optional     pam_timestamp.so
PAM のディレクティブの使用および設定方法は、「PAM 設定ファイルについて」 を参照してください。pam_timestamp(8) および pam.conf(5) の man ページも参照してください。