polkit使用用javascript编写的规则文件进行配置。
编写自定义函数,并将它们作为参数传递给polkit.addRule()。当执行polkit操作时,按顺序调用函数,直到返回结果为止。(否则使用默认值)。
使用两个参数调用规则函数:action的名称和subject对象。
您可以使用subject.isInGroup("wheel")测试用户是否在“轮子”组中。
polkit默认使用用户是否是“管理员”的概念。可以使用polkit.addAdminRule()以某种奇怪的方式修改这个概念的含义。在不同的发行版中,默认情况各不相同。在某些发行版中,管理员被放置在“轮子”组中。在其他发行版中,"sudo“组被认为是管理员。
是否有可能以可移植的方式为polkit.addRule()编写函数,测试主题是否在发行版的管理员组中,而不是硬编码“轮子”或"sudo“组?
发布于 2019-04-27 18:45:00
这是不可能的。
这不是一种非常常见的安全策略--无论是用于polkit还是其他任何东西。很多东西要么使用组,要么使用polkit密码提示。
我只注意到这种策略被用于PackageKit。(我猜管理员组是由发行版在编译PackageKit时指定的)。
https://unix.stackexchange.com/questions/515539
复制相似问题