OpenBSD 上的 polkit

OpenBSD 上的 polkit

我使用 xfce,它带有 /usr/local/share/polkit-1/actions/ 中的 polkit 操作 org.xfce.thunar.policy。
如果您可以提供 root 密码,此操作允许以 root 身份运行 thunar。
在使用 pkexec 版本 0.105 的 debian 上,您可以在桌面上创建一个桌面文件,如下所示:

[Desktop Entry]
Name=Thunar pkexec
Comment=Lance Thunar sous root
Exec=pkexec thunar /
Icon=Thunar
Terminal=false
StartupNotify=true
Type=Application

这样,你就会得到一个像这样的窗口:

Polkit 验证

如果您提供密码,您将得到:

thunar 作为根

在使用 pkexec 版本 0.116 的 OpenBSD 上,没有任何反应。

这两个版本的 polkit 的工作方式不同。
在 debian 0.105 版本中,您可以创建 pkla 文件来修改授权。
对于 OpenBSD 0.116 版本,您必须创建一个规则文件才能运行该操作。
因此,我创建一个规则文件来运行该操作。

cat 30-thunar_pkexec.rules
polkit.addRule (function (action, subject) {
  if (action.id == "org.xfce.thunar")
  {
    return polkit.Result.AUTH_ADMIN;
  }
});

但什么也没发生。如果我像这样设置返回行:

return polkit.Result.YES;

我得到:

thunar 作为 OpenBSD 上的 root 所以这项工作无需验证,但这不是我想要的。
如何使用 polkit 0.116 获得此身份验证窗口?
谢谢。

相关内容