polkit 规则:确定用户是否是管理员?

polkit 规则:确定用户是否是管理员?

polkit 使用用 javascript 编写的规则文件进行配置。

您编写自定义函数,并将它们作为参数传递给polkit.addRule().当执行 polkit 操作时,将按顺序调用函数,直到返回结果。 (否则使用默认值)。

您的规则函数使用两个参数调用: 的名称action和一个subject对象。

您可以用来subject.isInGroup("wheel")测试用户是否属于“wheel”组。

polkit 默认使用用户是否是“管理员”的概念。这个概念的含义可以使用 polkit.addAdminRule() 以一种有点奇怪的方式进行修改。不同发行版的默认值有所不同。在某些发行版中,管理员被放置在“wheel”组中。在其他发行版中,“sudo”组被视为管理员。

是否可以以可移植的方式为 polkit.addRule() 编写一个函数,该函数测试主题是否在发行版的管理员组中,而不是对“wheel”或“sudo”组进行硬编码?

答案1

这不可能。

这不是一种非常常见的安全策略类型——无论是对于 polkit 还是其他任何东西。很多东西要么使用组,要么使用 polkit 密码提示。

我只注意到 PackageKit 使用了这种类型的策略。 (我猜管理员组是由发行版在编译 PackageKit 时指定的)。

相关内容