Aturan PolicyKit tidak pernah berlaku


12

Saya mencoba menulis .rulesfile baru untuk PolicyKit. Upaya pengujian saya (dalam direktori /etc/polkit-1/rules.d/) terlihat seperti ini:

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;
});

Tapi sejauh yang saya tahu, kode ini tidak pernah berjalan. The testfile masih ada, dan tidak ada keluaran log setelah menjalankan sesuatu seperti$ pkexec -u otheruser bash

(Saya sudah mencoba menandai .rulesfile sebagai executable.)

Jawaban:


15

Jika Anda menggunakan Ubuntu 19.04 (atau lebih rendah) maka Anda masih menggunakan versi lama PolKit, di mana tidak ada file .rules tetapi hanya file .pkla dan .conf.

Pada prompt perintah, lakukan:

pkaction --version

Jika tertulis <0.106, maka Anda hanya dapat menggunakan sintaks lama.

Anda dapat membuat file .pkla di /etc/polkit-1/localauthority/


1
Ubuntu 15.10 masih dalam versi lama. pkaction --versionmemberipkaction version 0.105
Roger Binns

5
Ubuntu 18.04 masih membawa 0.105 !!!! Astaga!!!!
Osqui

1
Dan bahkan tidak ada versi 0.106+ dalam repo untuk Ubuntu! OH TUHAN!
Suncatcher

2
ubuntu 19.04 pkaction version 0.105. File aturan baru ditulis dalam JavaScript tidak didukung.
Denis Denisov

0

Agar berfungsi seperti yang diharapkan, Anda harus meletakkan .rulesfile Anda sendiri di:

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

Perhatikan bahwa ini juga harus menyelesaikan pertanyaan ini .


Memindahkan file di sana sepertinya tidak mengubah apa pun. Juga, menurut dokumen polkit dan Arch wiki , /etc/polkit-1/rules.dharus digunakan untuk konfigurasi pengguna. Jadi saya tidak yakin apa bedanya mengubah direktori.
Keidax

@ Keidax: apa nama .rulesfile Anda ?
Sylvain Pineau

Saat ini/usr/share/polkit-1/rules.d/10-udisks-personal.rules
Keidax
Dengan menggunakan situs kami, Anda mengakui telah membaca dan memahami Kebijakan Cookie dan Kebijakan Privasi kami.
Licensed under cc by-sa 3.0 with attribution required.