配置免密码命令
输入 whoami
获取用户名,如 galois21
如下命令,只需在宝塔终端执行即可:
echo "galois21 ALL=(ALL) NOPASSWD: ALL" | sudo tee /etc/sudoers.d/99_galois21_nopasswd
sudo chmod 440 /etc/sudoers.d/99_galois21_nopasswd
输出galois21 ALL=(ALL) NOPASSWD: ALL则成功
说明:
• 该命令会写入一个新的 sudoers 配置文件 /etc/sudoers.d/99_nopasswd。
• 设置权限为 440,符合 sudoers 文件权限要求。
• 之后该用户执行 sudo 命令时就无需再输入密码。
执行后你可以测试:
sudo ls /root
如果没提示输入密码,说明配置成功。
如果需要撤销,只需删除刚创建的文件:
sudo rm /etc/sudoers.d/99_nopasswd
免密码 sudo 配置作用范围
echo "$(whoami) ALL=(ALL) NOPASSWD: ALL" >> /etc/sudoers.d/99_nopasswd
只针对当前执行命令的那个用户生效。
换句话说:
• 只有那个用户(比如宝塔终端登录用的用户)执行 sudo 时不需要密码。
• 其他用户(包括通过 SSH 或控制台登录的不同用户名)仍然需要输入密码,除非你也给他们单独配置了免密码。
举例说明
假设:
• 宝塔终端用的是用户 btuser,你给它配置了免密码 sudo。
• 你用 SSH 登录的用户是 ubuntu,如果没有给 ubuntu 用户配置免密码,ubuntu 还是需要密码的。
你可以这样检查哪些用户有免密码 sudo
grep NOPASSWD /etc/sudoers /etc/sudoers.d/*
结论
• 免密码 sudo 是用户级别的配置,不是全系统所有用户都免密码。
• 如果你想让某个用户免密码,需要对该用户做相同配置。
windows的cmd命令行,整理成可执…