You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

Debian 11中Polkit规则无法阻止KDE菜单执行关机/重启等操作的问题求助

Debian 11中Polkit规则无法阻止KDE菜单执行关机/重启等操作的问题求助

各位好,我最近在Debian 11的KDE桌面环境里遇到了个Polkit规则的问题,想请大家帮忙看看:

我想禁止普通用户通过KDE开始菜单执行关机、重启、休眠这类电源操作,于是在/etc/polkit-1/rules.d/目录下创建了10-admin-shutdown-reboot.rules文件,规则内容如下:

polkit.addRule(function(action, subject) {

if (action.id == "org.freedesktop.login1.power-off" ||
action.id == "org.freedesktop.login1.power-off-ignore-inhibit" ||
action.id == "org.freedesktop.login1.power-off-multiple-sessions" ||
action.id == "org.freedesktop.login1.reboot" ||
action.id == "org.freedesktop.login1.reboot-ignore-inhibit" ||
action.id == "org.freedesktop.login1.reboot-multiple-sessions" ||
action.id == "org.freedesktop.login1.set-reboot-parameter" ||
action.id == "org.freedesktop.login1.set-reboot-to-firmware-setup" ||
action.id == "org.freedesktop.login1.set-reboot-to-boot-loader-menu" ||
action.id == "org.freedesktop.login1.set-reboot-to-boot-loader-entry" ||
action.id == "org.freedesktop.login1.suspend" ||
action.id == "org.freedesktop.login1.suspend-ignore-inhibit" ||
action.id == "org.freedesktop.login1.suspend-multiple-sessions" ||
action.id == "org.freedesktop.login1.hibernate" ||
action.id == "org.freedesktop.login1.hibernate-ignore-inhibit" ||
action.id == "org.freedesktop.login1.hibernate-multiple-sessions"
) {

return polkit.Result.AUTH_ADMIN;

}

});

我用命令pkcheck -u -p $$ -a org.freedesktop.login1.reboot; echo $?测试规则效果:在SSH远程会话里执行时返回2(这是我预期的,需要验证管理员权限),但在通过SDDM登录的物理机本地环境执行时却返回0,说明规则根本没生效,KDE菜单还是能直接点击完成重启、关机这些操作。

请问我的配置哪里出问题了?有没有办法让这个规则在本地KDE环境下也生效?

备注:内容来源于stack exchange,提问作者Michael Tsang

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.04.21 08:08:01