在我之前删除的问题的上下文中:
每次我运行 WICD(网络管理器)时,它都会要求我输入密码才能获得权限。我并不反对 Ubuntu 要求输入密码,但每次登录时都要求输入密码有点过分。有没有办法将程序列入白名单?我正在运行基于 Ubuntu 14.04 32 位的程序
我的主要目标是让我在启动时不必输入密码即可使用 WIFI。有人建议我使用 sudoers 文件 (如何在没有密码的情况下运行特定的 sudo 命令?),但我不知道具体如何使用它,也不知道 WICD 位于何处。我的第一次尝试没有成功。
这是正确的方法吗?还是我遗漏了什么?
谢谢您的帮助。
答案1
我假设你正在使用wicd-gtk
包中有两个程序/usr/bin
:
/usr/bin/wicd-client
/usr/bin/wicd-gtk
第一个是第二个(和wicd-cli
)的包装器。
wicd-gtk
建议gksu
,并且Arch 维基表明它可能使用图形sudo
程序。所以我认为这个问题可以通过使用NOPASSWD
中的适当行来解决sudoers
,因为pkexec
不涉及。
您可以添加一个文件,/etc/sudoers.d
其内容类似于(doctorow
您的用户名):
doctorow ALL = (ALL) NOPASSWD: /usr/bin/wicd-client, /usr/bin/wicd-gtk
接受的答案如何在没有密码的情况下运行特定的 sudo 命令?具有创建此类文件所需的步骤。
答案2
您不应以 root 身份运行 wicd-client。它旨在以普通用户身份运行。有一个以 root 身份运行的守护进程,并且应始终处于运行状态。这将执行客户端需要 root 访问权限的任何操作。
如果启动客户端时守护进程未运行,则系统会要求您输入密码,客户端将尝试启动守护进程。然后客户端将继续以普通用户身份运行。虽然这种方法可行,但不建议这样做。配置系统以在启动时启动守护进程,尽管这应该在安装 wicd-daemon 软件包时完成。
你也应该养成阅读说明当对话框要求输入密码时。Wicd 会告诉您它想要密码做什么。如果您尝试以 root 身份运行,则不要这样做。如果它想要启动守护进程,那么您应该在那里查找问题。在 Wicd 中,您可以从首选项对话框中配置用于请求 root 权限的程序。