![如何修复 PolKit?](https://linux22.com/image/193015/%E5%A6%82%E4%BD%95%E4%BF%AE%E5%A4%8D%20PolKit%EF%BC%9F.png)
首先让我描述一下我的系统。这是 Mint 19.0 (Tara)。 Mint本身不是问题,但它的升级机制似乎引发了这个问题。它是从 Mint 18.3 升级到 19.0 后出现的。我确实在 Mint 的论坛上发布了一个问题,但后来我不知道出了什么问题,在发现问题的过程中,我在那里“超载”了我的问题报告。所以我在这里尽量简洁。
PolicyKit 在授权权限升级方面存在一些问题。我是系统的所有者,以前只有我的帐户和访客帐户。升级后,我无法再通过菜单(调用synaptic-pkexec
)启动 Synaptic,并且所有其他需要权限升级的程序也将无法启动,并在 auth.log 中留下失败消息。没有弹出对话框询问我的密码。
synaptic-pkexec
从命令行启动只会产生
Error executing command as another user: Not authorized
This incident has been reported.
引用自auth.log
:
Jul 15 12:07:42 MYMACHINE polkit-agent-helper-1[9867]: pam_unix(polkit-1:auth): conversation failed
Jul 15 12:07:42 MYMACHINE polkitd(authority=local): Unregistered Authentication Agent for unix-session:c2 (system bus name :1.61, object path /org/gnome/PolicyKit1/AuthenticationAgent, locale de_DE.UTF-8) (disconnected from bus)
Jul 15 12:07:42 MYMACHINE polkitd(authority=local): Operator of unix-session:c2 FAILED to authenticate to gain authorization for action com.ubuntu.pkexec.synaptic for unix-process:9863:4513929 [/bin/sh /usr/bin/synaptic-pkexec] (owned by unix-user:MYUSERACCOUNT)
Jul 15 12:07:42 MYMACHINE pkexec[9864]: MYUSERACCOUNT: Error executing command as another user: Not authorized [USER=root] [TTY=/dev/pts/0] [CWD=/home/MYHOMEDIR] [COMMAND=/usr/sbin/synaptic]
Jul 15 12:07:42 MYMACHINE polkit-agent-helper-1[9867]: pam_unix(polkit-1:auth): auth could not identify password for [MYUSERACCOUNT]
Jul 15 12:07:42 MYMACHINE polkitd(authority=local): Registered Authentication Agent for unix-session:c2 (system bus name :1.220 [/usr/lib/policykit-1-gnome/polkit-gnome-authentication-agent-1], object path /org/gnome/PolicyKit1/AuthenticationAgent, locale de_DE.UTF-8)
然而,我的访客帐户可以做任何事情。要求输入密码,然后是 Synaptic、升级管理器,一切都按预期进行。另外,当我创建新用户(无论他们是作为管理员还是用户创建,并添加到 sudo 组)时,他们也可以执行所有操作。所以我认为它以某种方式与用户 ID 有关。
另一个观察:我知道 GUI 程序不应该通过sudo
.但是当我发出sudo synaptic-pkexec
- Synaptic 启动时...
我已经检查过了
- PolKit 守护进程通过自动启动运行
- PolKit Agent for Gnome 通过自动启动运行
- 用户主目录的文件权限设置正确
我也做了
apt-get install --reinstall
关于 PolKit 相关的一切。除了 PolKit 之外,其他一切都运行良好......
如果有帮助的话,我可以添加 inxi 语句。
答案1
正如我在 Mint 论坛上发布的:
我解决了。就我个人而言...
我确保我有最新的 polkit、polkitd 和 polkit agent for gnome。我不是直接通过 Synaptic 更新这些内容,而是通过更新管理器(它调用 Synaptic 作为后端)。我取消选择了更新管理器中的所有内容,并仅重新选择了少数内容,并观察了接下来会有多少依赖项。至此,塔拉仍然不会飞。我更新了 Firefox 和 Thunderbird 以及与 dbus 相关的所有内容。塔拉仍然不会飞。
我意识到我同时安装了几个不同版本的 gtk 和 gtk-sub-packages。其中一些显然是西尔维娅级别的。所以事实上我确实混合了西尔维娅和塔拉(没有升级过程警告)。当然,这样的状态根本不能称为健康。
然后,我做了另一个 Timeshift 备份(除了自升级到 Tara 失败以来所做的每日备份之外)。
有了这个安全无虞的备份,我运行了更新管理器,并让它在当时仅有 244 个更新的全套更新上运行。我只收到两个对话框,要求我同意某些配置更改。我检查了一下,看起来很合理,所以我同意了。
十分钟后,大功告成。我启动了 Synaptic,并检查了我担心被删除的所有内容是否仍然存在,或者现在由不同的包处理。于是我放心地重新启动了。
塔拉会飞!我可以从菜单启动 Synaptic。目前我无法告诉更新管理器,因为它表明它与此无关:0 个数据包未完成。所以我的 Tara 是最新的并且功能齐全。我会再使用和观察几天,如果没有问题出现,我会选择Tricia......