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
相关产品推荐
相关产品推荐

