问题标签 [policykit]
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.
python - 从非特权应用程序执行特权命令的正确方法
我有一个在用户空间中运行的可移植 GTK Python 应用程序。对于大多数用例,它不需要 root 权限,但对于少数需要它的用户,我想让用户能够按下按钮(例如 a Gtk.LockButton
),通过 PolicyKit 提供密码并以某种方式能够运行特定的以 root 身份执行命令。
我知道 PolicyKit 处理验证但不处理升级(我只能在用户拥有权限但实际上不能转换我的当前或以 root 身份运行新进程时才能获取信息)并且我知道我可以安装一个使用 root 运行的守护进程允许我可以委派我的操作,但我想知道是否有另一种方法可以让我保持这个应用程序的可移植性(不需要安装)。
另一种解决方案可能是,当用户按下按钮时,使用重新启动我的应用程序,pkexec
但我真的很想避免以超级用户身份运行整个应用程序。
我认为我应该做的是,当用户按下按钮时,以某种方式以 root 身份启动一个新的无头进程,并在该进程中查询需要特权权限的操作。该过程应仅在我的用户应用程序运行之前运行,并且理想情况下,只接受来自我的应用程序的连接。
这是一个正确的架构还是有一些我没有看到/考虑的大缺陷?
此外,使用此解决方案,我如何:
- 使用 PolicyKit 启动具有 root 权限的无头进程进行身份验证
- 在我的主要非特权应用程序和无头根进程之间安全通信
- 确保在主非特权应用程序完成时关闭根进程
ubuntu - Ubuntu软件中心,无法安装程序
希望在 Ubuntu 18.4 上安装系统监视器。但是,每当尝试对安装进行身份验证时,都会出现以下错误代码:
/usr/lib/policykit-1/polkit-agent-helper-1 上的权限不正确
弹出。我找不到任何有用的东西:
https://bugs.launchpad.net/ubuntu/+source/policykit-1/+bug/1767981
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。
dbus - 使用 CLI 锁定所有活动的 KDE/Plasma 会话
我正在根据笔记本电脑上的 ACPI 事件使用复杂的算法。因此,我被迫从 CLI 锁定我的 KDE/Plasma 会话。以前我使用这个 bash 代码来锁定会话:
命令由acpid
(由root)执行,与任何实际用户会话无关。但在很久以前,ConsoleKit 已被弃用,不再通过 DBus 提供。
我找到:
从实际用户执行将锁定活动会话,但如果从 root 执行将不起作用。
acpid
如果执行以锁定所有活动的 KDE/Plasma 会话,有什么想法可以使它工作吗?