Ivan Asked: 2010-12-20 22:33:23 +0800 CST2010-12-20 22:33:23 +0800 CST 2010-12-20 22:33:23 +0800 CST 如何防止系统应用程序(如软件中心)要求输入密码? 772 我希望软件中心、更新管理器和其他一些系统管理应用程序可以在不询问密码的情况下工作(就像配置了 NOPASSWD 的 sudo 一样),但只要求确认,甚至不需要任何确认。同时,我根本不想使用任何用户密码。这是可达的吗? security password sudo policykit xubuntu 6 个回答 Voted Best Answer João Pinto 2010-12-21T06:46:55+08:002010-12-21T06:46:55+08:00 Ubuntu 软件中心授权使用策略工具包。在删除操作期间请求身份验证时,您可以展开“详细信息”指针以查看正在调用的操作。它是org.debian.apt.install-or-remove-packages。您可以将相应的策略更改为不请求身份验证: 编辑/usr/share/polkit-1/actions/org.debian.apt.policy,搜索org.debian.apt.install-or-remove-packages,然后查找该defaults部分,替换auth_admin并auth_admin_keep用yes. porras 2020-11-16T18:48:15+08:002020-11-16T18:48:15+08:00 添加到 joão-pinto 的答案,由于软件中心现在使用 snapcraft 的策略,所以要修改的文件应该是这个: /usr/share/polkit-1/actions/io.snapcraft.snapd.policy 查找具有 id 的策略io.snapcraft.snapd.manage并将默认值下的所有条目更改为yes. 你应该有这个: <action id="io.snapcraft.snapd.manage"> <description gettext-domain="snappy">Install, update, or remove packages</description> <message gettext-domain="snappy">Authentication is required to install, update, or remove packages</message> <defaults> <allow_any>yes</allow_any> <allow_inactive>yes</allow_inactive> <allow_active>yes</allow_active> </defaults> </action> 在 Ubuntu 20.04.1 LTS 上测试 estibordo 2021-04-14T13:51:16+08:002021-04-14T13:51:16+08:00 迈向更通用的解决方案 由于策略/操作可能会因版本而异(还有其他两个答案提到了其他两个不同的文件),因此处理此问题的最佳方法是: 安装一些包进行测试 查看/var/log/auth.log 识别使用的文件和操作并根据此进行更改 安装软件包后,其中的条目/var/log/auth.log如下: Apr 13 02:06:14 dragon PackageKit: uid 1000 is trying to obtain org.freedesktop.packagekit.package-install auth (only_trusted:1) Apr 13 02:06:25 dragon polkitd(authority=local): Operator of unix-session:1 successfully authenticated as unix-user:jgr to gain TEMPORARY authorization for action org.freedesktop.packagekit.package-install for system-bus-name::1.79 [/usr/bin/python3 /usr/bin/software-properties-gtk] (owned by unix-user:jgr) Apr 13 02:06:25 dragon PackageKit: uid 1000 obtained auth for org.freedesktop.packagekit.package-install 我已经搜索并找到了操作所在的文件: sudo grep -l -r "org.freedesktop.packagekit.package-install" /usr/share/polkit-1/ /usr/share/polkit-1/actions/org.freedesktop.packagekit.policy 使用此信息,在我的Ubuntu 20.04.2 LTS上,我编辑以下文件:/usr/share/polkit-1/actions/org.freedesktop.packagekit.policy. 我已将<defaults>on action:更改<action id="org.freedesktop.packagekit.package-install">为: <defaults> <allow_any>yes</allow_any> <allow_inactive>yes</allow_inactive> <allow_active>yes</allow_active> </defaults> cristian 2014-04-02T02:33:56+08:002014-04-02T02:33:56+08:00 只需放入/etc/sudoers所有这些,它就会起作用 # User privilege specification root ALL=(ALL) NOPASSWD: ALL # Members of the admin group may gain root privileges %admin ALL=(ALL) NOPASSWD: ALL # Allow members of group sudo to execute any command %sudo ALL=(ALL) NOPASSWD: ALL TDC 2015-09-26T12:18:35+08:002015-09-26T12:18:35+08:00 这些带有 NOPASSWD: ALL 的方法似乎不会询问密码。这不是我想要的。我想被问到ROOT密码。 似乎正确的提示是将“默认 rootpw”添加到 sudoers。至少 Synaptic 现在会在收到 root 密码后启动。好的。我可以以 Debian 的方式使用 Ubuntu :) Kyle Clarke 2010-12-20T22:45:03+08:002010-12-20T22:45:03+08:00 注意:- 禁用密码提示可能存在安全风险 从 Applications --> Accessories --> terminal 打开终端窗口,运行命令: sudo visudo 找到写着的那一行 %admin ALL=(ALL) ALL 并将其更改为 %admin ALL=(ALL) NOPASSWD: ALL 保存并退出文件
Ubuntu 软件中心授权使用策略工具包。在删除操作期间请求身份验证时,您可以展开“详细信息”指针以查看正在调用的操作。它是org.debian.apt.install-or-remove-packages。您可以将相应的策略更改为不请求身份验证:
编辑
/usr/share/polkit-1/actions/org.debian.apt.policy
,搜索org.debian.apt.install-or-remove-packages
,然后查找该defaults
部分,替换auth_admin
并auth_admin_keep
用yes
.添加到 joão-pinto 的答案,由于软件中心现在使用 snapcraft 的策略,所以要修改的文件应该是这个:
/usr/share/polkit-1/actions/io.snapcraft.snapd.policy
查找具有 id 的策略
io.snapcraft.snapd.manage
并将默认值下的所有条目更改为yes
.你应该有这个:
在 Ubuntu 20.04.1 LTS 上测试
迈向更通用的解决方案
由于策略/操作可能会因版本而异(还有其他两个答案提到了其他两个不同的文件),因此处理此问题的最佳方法是:
/var/log/auth.log
安装软件包后,其中的条目
/var/log/auth.log
如下:我已经搜索并找到了操作所在的文件:
使用此信息,在我的Ubuntu 20.04.2 LTS上,我编辑以下文件:
/usr/share/polkit-1/actions/org.freedesktop.packagekit.policy
.我已将
<defaults>
on action:更改<action id="org.freedesktop.packagekit.package-install">
为:只需放入
/etc/sudoers
所有这些,它就会起作用这些带有 NOPASSWD: ALL 的方法似乎不会询问密码。这不是我想要的。我想被问到ROOT密码。
似乎正确的提示是将“默认 rootpw”添加到 sudoers。至少 Synaptic 现在会在收到 root 密码后启动。好的。我可以以 Debian 的方式使用 Ubuntu :)
注意:- 禁用密码提示可能存在安全风险
从 Applications --> Accessories --> terminal 打开终端窗口,运行命令:
找到写着的那一行
并将其更改为
保存并退出文件