Show Table of Contents
このページには機械翻訳が使用されている場合があります (詳細はこちら)。
第4章 PolicyKit
PolicyKit
ユーティリティーは、サービスを権限のないプロジェクト (サブジェクト とも呼ぶ) に提供する際に権限のあるプログラム (メカニズム とも呼ぶ) が使用する承認 API を提供するフレームワークです。以下は、PolicyKit
またはそのシステム名である polkit
になされた変更の詳細です。
4.1. ポリシー設定
新機能に関連して、認証ルールは JavaScript .rules ファイルで定義されるようになりました。これは、同じファイルがルールと管理者ステータスの両方を定義するために使用されることを意味します。これまでは、この情報は
*.pkla
および *.conf
の 2 つの異なるファイルに保存され、これらのファイルは追加のローカル認証を定義するためにキー/値のペアを使用していました。
これらの新たな .rules ファイルは以下の 2 つの場所に保存されます。ローカルのカスタマイズ用の
polkit
ルールは /etc/polkit-1/rules.d/
ディレクトリーに保存され、サードパーティーのパッケージは /usr/share/polkit-1/rules.d/
に保存されます。
既存の
.conf
および .pkla
設定ファイルは .rules ファイルと一緒に保持され、存在してきました。polkit
は互換性を考慮に入れて Red Hat Enterprise Linux 7 用にアップグレードされました。
ルールにおける優先順位のロジックが変更されました。
polkitd
は /etc/polkit-1/rules.d
および /usr/share/polkit-1/rules.d
ディレクトリーから .rules ファイルを辞書式順序で読み取ります。2 つのファイルに同一の名前が付けられる場合、/etc
のファイルが /usr
のファイルの前に処理されます。さらに、既存ルールは /etc/polkit-1/rules.d/49-polkit-pkla-compat.rules
ファイルによって適用されます。したがって、それらのルールは 49-polkit-pkla-compat の前に来る名前を持つ /usr
または /etc
のいずれかの .rules ファイルによって辞書式順序で上書きされる可能性があります。古いルールが上書きされないようにする最も簡単な方法は、その他すべての .rules ファイルの名前を 49 よりも大きな数字で始めることです。
以下は、.rules ファイルの例です。これは、システムデバイスに storage グループ用のファイルシステムをマウントすることを許可するルールを作成します。このルールは
/etc/polkit-1/rules.d/10-enable-mount.rules
ファイルに保存されます。
例4.1 システムデバイスへのファイルシステムのマウントの許可
polkit.addRule(function(action, subject) { if (action.id == "org.freedesktop.udisks2.filesystem-mount-system" && subject.isInGroup("storage")) { return polkit.Result.YES; } });
詳細は、以下を参照してください。
polkit
(8) – JavaScript ルールおよび優先順位ルールの説明が記載されている man ページです。pkla-admin-identities
(8) およびpkla-check-authorization
(8) –.conf
および.pkla
ファイル形式について個別に記載している man ページです。
このページには機械翻訳が使用されている場合があります (詳細はこちら)。