31.5. 他のアプリケーションのコンソールアクセスの有効化
コンソールユーザーが他のアプリケーションにアクセスできるようにするには、さらに作業が必要です。
まず、コンソールアクセスは /sbin/ または
/usr /sbin/ にあるアプリケーションに対して のみ 機能するので、実行するアプリケーションが必要です。これを確認した後に、以下の手順を実行します。
- サンプル
fooプログラムなどのアプリケーションの名前から、/usr/bin/consolehelper アプリケーションへのリンクを作成します。cd /usr/bin ln -s consolehelper foo
cd /usr/bin ln -s consolehelper fooCopy to Clipboard Copied! Toggle word wrap Toggle overflow /etc/security/console.apps/fooファイルを作成します。touch /etc/security/console.apps/foo
touch /etc/security/console.apps/fooCopy to Clipboard Copied! Toggle word wrap Toggle overflow /etc/pam.d/に、fooサービスの PAM 設定ファイルを作成します。これを行う簡単な方法は、halt サービスの PAM 設定ファイルをコピーしてから、動作を変更する場合はコピーを変更することです。cp /etc/pam.d/halt /etc/pam.d/foo
cp /etc/pam.d/halt /etc/pam.d/fooCopy to Clipboard Copied! Toggle word wrap Toggle overflow
/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
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 デスクトップ環境を実行している場合は、パネルの通知エリアに
ユーザーは、アイコンをクリックし、認証を取得するオプションを選択して、キャッシュされた認証を忘れることができます。