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


12

.rulesPolicyKitの新しいファイルを書き込もうとしています。(ディレクトリ内の/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ファイルを実行可能としてマークしようとしました。)

回答:


15

あなたが上にある場合のUbuntu 19.04(または下げて)あなたはまだ.rulesファイルが存在しないPolKitの古いバージョンが、唯一.pklaとの.confファイルを使用しています。

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

pkaction --version

<0.106と表示されている場合は、古い構文しか使用できません。

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


1
Ubuntu 15.10はまだ古いバージョンです。 pkaction --version与えpkaction version 0.105
ロジャー・ビンズ

5
Ubuntu 18.04はまだ0.105です!!!! ああ、私の!!!!
Osqui 2017

1
そして、Ubuntuのリポジトリには0.106+バージョンさえありません!ああ、神様!
サンキャッチャー

2
ubuntu 19.04 pkaction version 0.105。新しいルールファイルは、サポートされていないJavaScriptで記述されています。
Denis Denisov

0

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

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

この問題も解決するはずです。


そこにファイルを移動しても、何も変わっていないようです。また、に従ってpolkitドキュメントアーチウィキ/etc/polkit-1/rules.dユーザの設定に使用されるべきです。したがって、ディレクトリを変更するとどのような違いがあるのか​​わかりません。
Keidax 2014年

@Keidax:.rulesファイルの名前は何ですか?
Sylvain Pineau 2014年

現在/usr/share/polkit-1/rules.d/10-udisks-personal.rules
Keidax 2014年
弊社のサイトを使用することにより、あなたは弊社のクッキーポリシーおよびプライバシーポリシーを読み、理解したものとみなされます。
Licensed under cc by-sa 3.0 with attribution required.