我觉得这很奇怪。除非我输入 root 密码,否则我无法使用“友好”的 GUI 工具安装软件,但默认情况下,我的 Ubuntu 12.04 已禁用 root 权限,并且未设置密码。
为什么软件中心不使用 SUDO 凭证?也许使用 gksudo?
答案1
当没有用户处于“sudo”状态时,就会发生这种情况(至少在我刚刚测试过的 14.04 上)。团体。
/etc/sudoers
对于这种行为来说,你的用户是否在文件中明确列出并不重要——它寻找 sudo 组的成员并要求其中一个用户输入密码。如果该组中没有成员,则要求输入 root 密码,这可能根本没有启用。
编辑:这可能是因为普通用户无法读取 sudoers 文件,但可以访问 sudo 组中的成员列表。
答案2
我从未见过 Ubuntu 软件中心要求输入 root 密码。它不应该这样做,除非您对系统做了一些特殊处理,否则这种情况不会发生。它应该使用 Policy Kit,它会要求您选择一个用户并输入该用户的密码。
PolicyKit 比 gksudo 更适合这种情况,因为 sudo 将允许访问命令而 PolicyKit 允许访问行动例如 org.debian.apt.install-or-remove-packages。如果您提供运行 apt-get 的权限,那么您就可以执行 apt-get 可以执行的任何操作,这实在是太过分了。例如,您可以授予所有用户从官方 Ubuntu 档案库安装安全升级的权限,但不允许用户安装新软件。使用 sudo 无法做到这一点。
我会检查你是否已经移除了包裹policykit-1-gnome。