web-dev-qa-db-ja.com

PolicyKitルールが有効になることはありません

PolicyKit用の新しい.rulesファイルを作成しようとしています。私のテスト試行(ディレクトリ/etc/polkit-1/rules.d/)は次のようになります。

polkit.addRule(function(action, subject) {
    polkit.spawn(["rm","/home/gabriel/test"]);
    if (action.id == "org.freedesktop.policykit.exec") {
        polkit.log("action=" + action);
        polkit.log("subject=" + subject);
    }
    return polkit.Result.NOT_HANDLED;
});

しかし、私が知る限り、このコードは決して実行されません。 testファイルはまだ存在し、$ pkexec -u otheruser bashなどの実行後にログ出力はありません

.rulesファイルを実行可能としてマークしようとしました。)

9
Keidax

buntu 19.04(またはそれ以前) を使用している場合は、.rulesファイルはなく、.pklaファイルと.confファイルのみが存在する古いバージョンのPolKitを引き続き使用しています。

コマンドプロンプトで、次の操作を行います。

pkaction --version

<0.106と表示されている場合は、古い構文のみを使用できます。

/etc/polkit-1/localauthority/に.pklaファイルを作成できます

11
Bart

期待どおりに動作するには、独自の.rulesファイルを次の場所に配置する必要があります。

/usr/share/polkit-1/rules.d

これも解決する必要があることに注意してください question

0
Sylvain Pineau