You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

将用户加入sudoers后仍需密码的Ubuntu 16.04问题求助

搞定Ubuntu 16.04的sudo免密与开机自动执行命令问题

嘿,我来帮你解决这两个头疼的问题!先理清楚:一是用户aman加了sudoers但执行命令还需要密码,二是想让WiFi修复命令开机自动跑且不用输密码。咱们一步步来:

一、修复sudo仍需输入密码的问题

首先要敲黑板:绝对别直接用普通编辑器改/etc/sudoers,一定要用visudo命令,它会自动检查语法,防止你把系统搞崩(我见过不少人直接改sudoers导致连sudo都用不了的情况)。

  1. 打开sudoers配置文件:
    sudo visudo
    
  2. 拉到文件末尾,根据你的需求加一行配置:
    • 要是想让aman执行所有sudo命令都免密,就加:
      aman ALL=(ALL) NOPASSWD: ALL
      
    • 要是只想免密执行那台特定的WiFi修复命令(比如你的命令路径是/usr/local/bin/fix-wifi.sh,记得换成你实际的命令路径),就加:
      aman ALL=(ALL) NOPASSWD: /usr/local/bin/fix-wifi.sh
      
  3. 保存退出(visudo默认用nano编辑器,按Ctrl+O保存,回车确认文件名,再按Ctrl+X退出)。
  4. 打开新终端测试一下:执行sudo 你的命令,应该不用输密码了。

如果之前你已经直接编辑过sudoers,可能存在语法错误,用这个命令检查:

sudo visudo -c

如果输出/etc/sudoers: parsed OK就没问题,否则跟着提示修改错误就行。

二、让WiFi修复命令开机自动执行且免密

这里推荐用systemd服务,比老旧的rc.local更可靠(Ubuntu16.04已经全面支持systemd了):

第一步:创建systemd服务文件

sudo nano /etc/systemd/system/wifi-fix.service

把下面的内容粘进去,记得替换/usr/local/bin/fix-wifi.sh为你实际的WiFi修复命令路径:

[Unit]
Description=自动执行WiFi修复命令
After=network.target  # 确保网络服务启动后再执行

[Service]
User=aman  # 用aman用户执行
ExecStart=/usr/bin/sudo /usr/local/bin/fix-wifi.sh  # 因为已经配置了免密,所以sudo不会要密码
Restart=no  # 执行一次就够,不用重启

[Install]
WantedBy=multi-user.target  # 多用户模式下启动

第二步:启用并测试服务

sudo systemctl enable wifi-fix.service  # 设置开机自启
sudo systemctl start wifi-fix.service   # 立即执行一次,测试是否正常

要是执行start后没有报错,说明命令能正常跑。

验证效果

  1. 先手动测试:sudo /usr/local/bin/fix-wifi.sh,确认不用输密码。
  2. 重启系统后,检查WiFi问题是否解决,或者用这个命令看服务状态:
    sudo systemctl status wifi-fix.service
    

如果显示active (exited)且没有红色错误信息,说明开机时已经成功执行了命令。

如果你偏爱用rc.local的方式(Ubuntu16.04默认rc.local可能没启用),也可以这么做:

  1. 先启用rc.local服务:
    sudo systemctl enable rc-local.service
    
  2. 编辑/etc/rc.local,在exit 0这一行之前添加:
    sudo -u aman /usr/local/bin/fix-wifi.sh
    

同样,前提是你已经在sudoers里配置了aman免密执行这个命令。


内容的提问来源于stack exchange,提问作者Anand Suthar

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.05.19 09:39:48