Oneiric 更新管理器不再要求输入密码来更新已安装的软件。这与以前的版本的行为不同。有没有办法恢复此行为并让 Oneiric 中的更新管理器再次要求输入密码?
谢谢!
答案1
这是故意的行为改变(来源):
从 Ubuntu 11.10 开始,更新管理器不再提示用户输入密码来应用更新。这样做是为了提高可用性,并使用户更容易应用安全更新,从而提高系统安全性。理由如下:
与以前的版本一样,默认情况下只有管理员组中的人员才允许访问执行安全更新。
只有已安装软件的更新才无需密码。安装其他软件仍需要输入密码。
密码提示对某些人来说已经变得很烦人,以至于他们宁愿点击“取消”而不是安装更新。密码提示降低了这些用户的系统安全性。
那些尽职尽责地应用更新的人习惯于每天输入特权密码。当用户被提示输入密码时,这应该意味着什么,而更新管理器更新的频率意味着有些人不再考虑他们输入密码的原因。对于这些用户来说,密码提示可能会降低安全性。
对于认为此更改不合适的环境,管理员可以通过 PolicyKit 或创建不属于管理员组的用户来禁用此功能(首先推荐的做法)。
相关的 PolicyKit 策略在文件中/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
这将授予管理员组中的任何人更新软件包的权限,而无需输入密码。我以前从未使用过 PolicyKit,但根据我对pklocalauthority 的手册页,要覆盖它,您应该创建一个此文件..
/var/lib/polkit-1/localauthority/50-local.d/require-password-to-update.pkla
您需要超级用户权限才能创建它,因此请使用此命令...
gksudo gedit /var/lib/polkit-1/localauthority/50-local.d/require-password-to-update.pkla
这将在 gedit 中打开一个新文件并在其中放入以下策略条目:
[Require password to upgrade already installed software]
Identity=unix-group:admin
Action=org.debian.apt.upgrade-packages
ResultActive=auth_admin
保存并退出 gedit,您现在可以打开更新管理器,它会要求您在应用任何更新之前确认密码。