![如何使安装更新时需要身份验证?](https://linux22.com/image/812558/%E5%A6%82%E4%BD%95%E4%BD%BF%E5%AE%89%E8%A3%85%E6%9B%B4%E6%96%B0%E6%97%B6%E9%9C%80%E8%A6%81%E8%BA%AB%E4%BB%BD%E9%AA%8C%E8%AF%81%EF%BC%9F.png)
Ubuntu 的新政策规定,从更新管理器更新已安装的应用程序时不需要密码(Synaptic 和 apt-get 仍然需要密码)。另外,我想阻止更新管理器弹出,它应该只在我调用时运行。谢谢。
答案1
删除“无需管理员授权即可更新软件包”
gksudo gedit /var/lib/polkit-1/localauthority/10-vendor.d/com.ubuntu.desktop.pkla
有问题的部分是这样的
[Update already installed software]
Identity=unix-group:admin
Action=org.debian.apt.upgrade-packages
ResultActive=yes
可能最简单也可能最好的解决方案就是删除整个部分。
如果需要,你可以离开并尝试将 ResultActive=yes 设置为
结果活动=auth_admin_keep
如果我想要这个,我只需删除该部分,然后操作应该恢复到 /usr/share/polkit-1/actions/org.debian.apt.policy 中的默认值,即要求每次使用都进行身份验证。
答案2
在我的例子中,将我的 ID 添加到sudo
组中解决了问题。我的/var/lib/polkit-1/localauthority/10-vendor.d/com.ubuntu.desktop.pkla
IDadmin
和sudo
作为授权组,但sudo
在安装过程中只定义了一个用户,而admin
没有定义组。我敢打赌adm
。也许这个名字admin
已经进入了 polkit 文件,因为有人忽略了 Ubuntu 历史上的一些配置更改(请参阅“adm”组和“admin”组之间有什么区别)?
我的 LTS 20.04.4 文件的原始部分:
[Update already installed software]
Identity=unix-group:admin;unix-group:sudo
Action=org.debian.apt.upgrade-packages
ResultActive=auth_admin_keep