禁用启动程序超级用户身份验证

禁用启动程序超级用户身份验证

我希望我的 VPN 在登录我的用户帐户后在启动时运行。当前运行的是 Ubuntu 15.10。我已将该程序添加到启动项 (/usr/bin/mullvad);但是,它在打开之前要求进行身份验证。

“需要身份验证才能以超级用户身份运行‘usr/bin/mtunnel’”

我已将这些条目添加到我的 sudoers 文件中,但它似乎没有任何作用。我仍然需要输入密码才能运行我的 VPN。

john ALL=(ALL) NOPASSWD: /usr/bin/mtunnel
john ALL=(ALL) NOPASSWD: /usr/bin/mullvad

任何想法?

完整文件

#
# This file MUST be edited with the 'visudo' command as root.
#
# Please consider adding local content in /etc/sudoers.d/ instead of
# directly modifying this file.
#
# See the man page for details on how to write a sudoers file.
#
Defaults        env_reset
Defaults        mail_badpass
Defaults        secure_path="/usr/local/sbin:/usr/local/bin:/usr/sbin:/usr/bin:$

# Host alias specification

# User alias specification

# Cmnd alias specification

# User privilege specification

 Members of the admin group may gain root privileges
%admin ALL=(ALL) ALL

# Allow members of group sudo to execute any command
%sudo   ALL=(ALL:ALL) ALL

# See sudoers(5) for more information on "#include" directives:

# Members of the admin group may gain root privileges
%admin ALL=(ALL) ALL

# Allow members of group sudo to execute any command
%sudo   ALL=(ALL:ALL) ALL

# See sudoers(5) for more information on "#include" directives:

#includedir /etc/sudoers.d

john ALL=(ALL) NOPASSWD: /usr/bin/mtunnel, /usr/bin/mullvad

答案1

为什么你如此坚持在登录时连接 VPN?你可能在启动时启动它,然后 VPN 连接就可以作为root通常启动的一部分来执行。

你可以用无数种不同的方式来做到这一点:你可以在 中添加一行/etc/rc.local,你可以围绕它构建一个服务(但细节取决于你是否在SysV或之下systemd),或者更简单的是,你可以添加以下行

 @reboot /usr/bin/mullvad

crontab。不再需要密码。

答案2

您仍然需要使用 来执行这些程序sudo。使用 中的这两行/etc/sudoers,用户在执行和john时将不会提示输入密码。此外,您可以将这两行合并为一行:。sudo mtunnelsudo mullvadjohn ALL=(ALL) NOPASSWD: /usr/bin/mtunnel, /usr/bin/mullvad

答案3

我在开发软件的时候也遇到过这个身份验证问题。在我删除软件后,再sudo apt remove尝试从源代码运行它时,每次Popen操作都会弹出身份验证请求。

我通过重新安装软件(实时版)解决了这个问题,然后我能够运行开发软件而没有任何身份验证请求窗口。对于你的情况,重新安装软件可能会有帮助。

相关内容