31.5. 他のアプリケーションのコンソールアクセスの有効化
コンソールユーザーが他のアプリケーションにアクセスできるようにするには、さらに作業が必要です。
まず、コンソールアクセスは /sbin/ または
/usr /sbin/
にあるアプリケーションに対して のみ 機能するので、実行するアプリケーションが必要です。これを確認した後に、以下の手順を実行します。
- サンプル
foo
プログラムなどのアプリケーションの名前から、/usr/bin/consolehelper アプリケーションへのリンクを作成します。cd /usr/bin ln -s consolehelper foo
/etc/security/console.apps/foo
ファイルを作成します。touch /etc/security/console.apps/foo
/etc/pam.d/
に、foo
サービスの PAM 設定ファイルを作成します。これを行う簡単な方法は、halt サービスの PAM 設定ファイルをコピーしてから、動作を変更する場合はコピーを変更することです。cp /etc/pam.d/halt /etc/pam.d/foo
/usr/bin/foo を実行すると、consolehelper が呼び出され、/usr/sbin/userhelper を利用してユーザーを認証します。ユーザーを認証するため、
/etc/pam.d/foo
が /etc/pam.d/halt
のコピーである場合に、consolehelper はユーザーのパスワードを要求します。それ以外の場合は、/etc/pam.d/foo
で指定されている内容を正確に実行し、root 権限で /usr/sbin/foo
を実行します。
PAM 設定ファイルでは、pam_timestamp モジュールを使用して正常な認証の試行を記憶(またはキャッシュ)するようにアプリケーションを設定できます。アプリケーションが起動し、適切な認証(root パスワード)が提供されると、タイムスタンプファイルが作成されます。デフォルトでは、正常な認証は 5 分間キャッシュされます。この間、
pam_timestamp
を使用して同じセッションから実行するように設定された他のアプリケーションは、そのユーザーに対して自動的に認証されます。ユーザーは root パスワードを再度入力する必要はありません。
このモジュールは
pam
パッケージに含まれています。この機能を有効にするには、etc/pam.d/
の PAM 設定ファイルに以下の行を追加します。
auth include config-util account include config-util session include config-util
これらの行は、
/etc/pam.d/system-config-*
設定ファイルからコピーできます。これらの行は、PAM 設定ファイルの他の auth sufficient
session optional
行の 下 に追加する必要があります。
pam_timestamp
を使用するよう設定されたアプリケーションが Applications (パネルのメインメニュー)から正常に認証されると、GNOME または KDE デスクトップ環境を実行している場合は、パネルの通知エリアに
アイコンが表示されます。認証の期限が切れると(デフォルトは 5 分)、アイコンは消えます。
ユーザーは、アイコンをクリックし、認証を取得するオプションを選択して、キャッシュされた認証を忘れることができます。