polkit.Result.NO 是否会拒绝对 root 用户的操作?

polkit.Result.NO 是否会拒绝对 root 用户的操作?

例如,在 Arch Wiki 的这个示例中,是否systemd-logind仍然允许root用户请求暂停和休眠?

以下规则禁用所有用户的挂起和休眠。

/etc/polkit-1/rules.d/10-disable-suspend.rules

polkit.addRule(function(action, subject) {
    if (action.id == "org.freedesktop.login1.suspend" ||
        action.id == "org.freedesktop.login1.suspend-multiple-sessions" ||
        action.id == "org.freedesktop.login1.hibernate" ||
        action.id == "org.freedesktop.login1.hibernate-multiple-sessions")
    {
        return polkit.Result.NO;
    }
});

答案1

创建这些规则成功地阻止了暂停键盘按钮在 GNOME 中工作。

sudo systemctl suspend -i- 即请求以 root 身份暂停 - 继续工作。

奇怪的是,systemctl suspend -i导致 GNOME 提示输入管理员密码。所以 polkit.Result.NO 似乎与 polkit.Result.AUTH_ADMIN 含义相同。

软件版本:

  • systemd-239-12.git8bca462.fc29.x86_64
  • polkit-0.115-4.4.fc29.x86_64
  • gnome-shell-3.30.2-1.fc29.x86_64

相关内容