Systemd không thực sự xử lý shutdown
, reboot
và các lệnh khác, và các đặc quyền mặc định được gán là dễ dãi. Để thay đổi điều này, bạn cần tạo quy tắc Polkit. Tạo một .pkla
tệp trong /etc/polkit-1/localauthority/50-local.d
(giả sử confirm-shutdown.pkla
) có chứa:
[Confirm shutdown]
Identity=unix-user:*
Action=org.freedesktop.login1.*
ResultActive=auth_admin_keep
Tắt máy khác nhau, khởi động lại, vv lệnh là, trong điều kiện Polkit, hành động trong org.freedesktop.login1
, ví dụ, org.freedesktop.login1.power-off
, org.freedesktop.login1.reboot
, vv Vấn đề cụ thể ở đây là cấu hình mặc định, mà là ở /usr/share/polkit-1/actions/org.freedesktop.login1.policy
:
<action id="org.freedesktop.login1.power-off">
<description>Power off the system</description>
...
<defaults>
<allow_any>auth_admin_keep</allow_any>
<allow_inactive>auth_admin_keep</allow_inactive>
<allow_active>yes</allow_active>
</defaults>
Lưu ý rằng nó cho phép người dùng hoạt động tắt nguồn, khởi động lại, v.v.
pkaction | grep login1
cho các quy tắc quan tâm khác)