我设置了以下 Polkit 规则来阻止用户使用 Gnome 重新启动我的 Fedora 33 机器:
polkit.addRule(function(action, subject) {
if ( ( 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-boot-loader-entry " ) ||
( action.id == "org.freedesktop.login1.set-reboot-to-boot-loader-menu" ) ||
( action.id == "org.freedesktop.login1.set-reboot-to-firmware-setup" ) ) {
return polkit.Result.AUTH_ADMIN;
}
});
但有些事情并没有按预期进行,因为用户仍然可以重新启动机器。有人知道发生了什么吗?
编辑:我已尝试“*.power-off”操作,但它们也被忽略了......
编辑2:“*.suspend”按预期工作,但即使我尝试使用 pkcheck 触发这些规则,“*.power-off”和“*.reboot”似乎都不起作用。