问题标签 [polkit]

For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.

0 投票
1 回答
150 浏览

linux - 如何在管道之间的 bash 脚本中删除权限?

我已经制作了这个脚本,我想以普通用户身份执行它,但dbus-monitor只能以 root 身份运行。有没有办法以dbus-monitorroot 身份执行,其余管道以普通用户身份执行?添加sudo之前dbus-monitor不是一个选项,因为它只是一种解决方法,我可以打算以 root 身份执行脚本,它会无缘无故地再次提升权限。例如,我还想使用 polkit pkexec。谢谢!

0 投票
2 回答
3302 浏览

systemd - 使用 PolicyKit 允许非 root 用户启动和停止服务

我要求允许非 root 用户启动和停止服务。建议我使用PolicyKit而不是sudoers.d我熟悉的 。

由于我没有使用 Docker 的经验PolicyKit,我想我会尝试并创建一个规则来允许非 root 用户启动和停止 Docker 服务。我创建了一个文件,/etc/polkit-1/rules.d/10-docker.rules其中包含:

但是,每当我执行时systemctl start|stop|restart docker.service,我都会不断收到输入密码的提示。我错过了什么?

另外,我想限制非 root 用户控制特定组中的此服务,例如blah. 如何将其纳入我的规则?

我的目标操作系统是 RHEL 7.7。

0 投票
2 回答
3376 浏览

apache - 无法在 Centos 7 上启动 httpd 服务“GDBus.Error:org.freedesktop.PolicyKit1.Error.Failed: 无法确定主题的用户”

尝试(重新)启动 httpd 服务时,出现以下错误:

然后

没有说明问题:

这可能是什么原因造成的?我应该在哪里调试?

0 投票
1 回答
286 浏览

python - 如何使用 pkexec 执行 Python 脚本

对于一个项目,我正在为ifconfigLinux 编写一个 PyQt5 小部件。我的代码的某些部分需要管理员权限。例如,关闭一个接口。

这是一个 GUI 应用程序,用户必须使用 GUI 输入他们的 sudo 密码。我在网上搜索过,发现pkexec允许授权用户以另一个用户身份执行程序。因此,我编写了.policy所需的操作文件。我以前从未使用过 polkit,我可能错过了一些东西。

我可以使用没有错误地执行我的程序 python3 ifconfig_Logic.py

pkexec python3 ~/Desktop/GUI/ifconfig_Logic.py 但是如果我尝试使用身份验证窗口上的消息 执行我的程序 是在此处输入图像描述

消息不应该是 Authentication is required to run ifconfigLogic而不是Authentication is required to install this project吗?

另外,我收到以下错误

ifconfig.uiifconfig_Logic.py用来导入界面的ui文件。我认为这个问题是因为ifconfig.ui政策中没有添加,所以我添加了它。

这是ifconfig_Logic.py

政策文件

我该如何解决这个问题?为什么我使用时文件似乎丢失了pkexec

0 投票
1 回答
513 浏览

awesome-wm - awesome-wm polkit 身份验证代理?

awesome-wm 上的 Polkit 身份验证代理?

我在打开 balenaEtcher 进行 USB 闪烁时遇到问题。它立即给我一个错误说:“没有找到 polkit 身份验证代理”

我现在的问题是,使用 awesome-wm 时应该安装哪个 polkit-aa?

0 投票
0 回答
282 浏览

ubuntu-20.04 - 使用 polkit 在 cockpit 中设置具有特定权限的用户

我正在创建一个运行 Azure SDK 的基于 Ubuntu 的服务器。我们客户所需的主要功能之一是服务器的 IP 地址配置。我以前曾使用 Cockpit 来完成此类任务,但我总是将它与我​​自己的特权(阅读:在 sudo 组中)用户结合使用。像这样运行驾驶舱允许所有我不想要的管理任务。

我现在想设置这个服务器的方式是不同的。我希望有一个普通的全访问用户四个我们的团队进行维护,但我也希望有一个只能更改服务器网络配置的“customeradmin”用户。

我已经阅读了很多关于 PolKit 和对权限的细粒度控制的文章,但我就是无法理解它。这是我到目前为止所尝试的:

  1. 将“customeradmin”用户添加到 sudo 组:当然可以,但用户也可以访问 cockpit 的其他部分,这是不行的
  2. 在 /usr/share/polkit-1/rules 中添加我自己的 .rules 文件:

当我从终端运行 nmcli 命令时,这基本上没有改变,甚至权限都没有改变:

运行pkexec nmcli g permissions要求输入 admin 或 sudo 组中用户的密码(如中配置/etc/polkit-1/localauthority.conf.d/51-ubuntu-admin.conf

  1. 的输出journalctl -b给了我一个关于无法以特权用户身份启动 cockpit-bridge 的错误:

然后我添加了一个允许访问 customeradmin 组的 .rules 文件:

也无济于事。非常感谢所有帮助!

0 投票
0 回答
93 浏览

javascript - polkit“需要交互式身份验证”错误现在阻止了一次工作的安装脚本

我为我的一个项目在 TypeScript 中创建了一个自动安装脚本(编译为 JavaScript 并在 Node.js 下运行),该脚本曾经运行良好,但现在由于“需要交互式身份验证”错误而失败,该错误来自polkit,这显然是 Raspbian 使用的安全策略服务。

该脚本使用 启动sudo,因此它应该以完全管理员权限运行失败的事情,即停止我自己的服务 ( service weatherService stop),以及创建或修改其中定义该服务的/etc/default/文件/etc/init.d/

我能猜到的是最近的一些安全更新让我很伤心,但具体是什么,我不知道。当我在谷歌上搜索我收到的特定错误消息时polkit,大多数讨论似乎都围绕着哪些用户是 sudo-ers 以及 sudo-ers 可以做什么。但是我作为“pi”用户尝试做的所有事情,在运行时sudo,都是我仍然可以在终端窗口中毫无问题地做的事情,并且不会弹出任何“交互式身份验证”迫使我进行任何身份验证。

代码太大,无法在此处发布,但可以在 Github 上找到:https ://github.com/kshetline/aw-clock/

...特别是在这个文件中:https ://github.com/kshetline/aw-clock/b ... r/build.ts

以下是一些关键片段:

尽管上面的代码很复杂,用于监控进程输出流、处理不同的操作系统和设置一些环境变量,但它实际上只是 Node.jsspawn函数的包装,以及我曾经能够执行的命令的事实成功产卵现在因这个polkit问题而失败。

polkit服务似乎是一个巨大的蠕虫罐,有许多单独的复杂策略文件定义了谁可以做什么和做什么。因为我试图用我的脚本做的事情就是做一个 sudo-er 通常有权做的事情,我什至不知道为什么polkit关心,或者这个“交互式身份验证”看起来像什么——它不像出现一些提示,用户或我的脚本无论如何都可以尝试与之交互。

我真正希望(对成功的期望很低)是阅读本文的人会有“哦,那个问题!” 反应。除此之外,对于任何不熟悉类似问题的人来说,这个故障将很难描述得足够好。

0 投票
2 回答
120 浏览

systemd - 尽管有足够的规则,Policy Kit 仍不允许重新启动服务

作为 nagios 用户,我无法执行 systemctl。追踪到pkexec,我得到:

但是,我有一个非常非常宽松的 polkit 规则(它不是生产系统)

我在重新启动 polkit.service 时仔细检查它是否编译有什么问题?

谢谢,

泽维尔

0 投票
1 回答
162 浏览

systemtap - polkit-0.115-11.el8.x86_64 的调试信息

我正在尝试在 polkit 函数上使用 systemtap 挂钩,但我收到一个错误,我需要安装 debuginfo。我找不到 polkit 包的调试信息 - polkit-0.115-11.el8.x86_64。有谁知道我在哪里可以找到它?谢谢。

在此处输入图像描述

0 投票
0 回答
30 浏览

x11 - XOpenDisplay 使用 pkexec 返回 NULL

我正在开发简单的 X 应用程序,它可以正常工作sudo,但我无法使用pkexecXOpenDisplay返回 0)打开显示。任何想法??我错过了什么?

请注意,我在/usr/local/share/polkit-1/actions符号链接中添加了以下策略/usr/share/polkit-1/actions