- pklocalauthority tidak digunakan lagi
- Anda memerlukan systemd dengan logind dan polkit.
Tindakan yang tersedia
pkaction
# or /usr/share/polkit-1/actions/
Anda harus melihat /usr/share/polkit-1/actions/org.freedesktop.login1.policy
Tambahkan aturan
Pertama-tama mulailah memantau pesan sistem, agar kami dapat melihat apakah aturan baru kami berfungsi:
journalctl -f
Kemudian buat file /etc/polkit-1/rules.d/60-noreboot_norestart.rules
(dalam javascript).
Dalam file ini kami menambahkan logika untuk memeriksa tindakan dan mengizinkan users
di power
grup atau memerlukan su
otorisasi:
polkit.addRule(function(action, subject) {
if (action.id == "org.freedesktop.login1.reboot" ||
action.id == "org.freedesktop.login1.reboot-multiple-sessions" ||
action.id == "org.freedesktop.login1.power-off" ||
action.id == "org.freedesktop.login1.power-off-multiple-sessions") {
if (subject.isInGroup("power")) {
return polkit.Result.YES;
} else {
return polkit.Result.AUTH_ADMIN;
}
}
});
Aturan harus dimuat dan harus berfungsi. Referensi di bawah.
- https://lists.fedoraproject.org/pipermail/users/2013-September/440457.html
- https://wiki.archlinux.org/index.php/Polkit#Authorization_rules
- http://www.freedesktop.org/software/polkit/docs/latest/polkit.8.html
- https://bbs.archlinux.org/viewtopic.php?pid=1335204#p1335204
Pertama, perhatikan bahwa fungsi penonaktifan ConsoleKit menganggap "pengguna tunggal" dan "beberapa pengguna" sebagai dua situasi yang berbeda – mematikan sistem selalu memerlukan autentikasi administrator jika pengguna lain masuk.
Semua tindakan tersebut dikelola oleh PolicyKit. Jika Anda ingin menyesuaikan kebijakan, Anda dapat melakukannya seperti yang dijelaskan dalam polkit(8) – /etc/polkit-1/rules.d/20-disallow-shutdown.rules
:
polkit.addRule(function(action, subject) { if ((action.id == "org.freedesktop.consolekit.system.stop" || action.id == "org.freedesktop.consolekit.system.restart") && subject.isInGroup("users")) { return subject.active ? polkit.Result.AUTH_ADMIN : polkit.Result.NO; } });
PolicyKit 0.105 dan versi sebelumnya mendokumentasikan ini di pklocalauthority(8) – /etc/polkit-1/localauthority/50-local.d/20-disallow-shutdown.pkla
:
[Disallow shutdown] Identity=unix-group:users Action=org.freedesktop.consolekit.system.stop;org.freedesktop.consolekit.system.restart ResultAny=no ResultInactive=no ResultActive=auth_admin
Action
s tercantum dalam file kebijakan ConsoleKit atau dengan menjalankan pkaction
.