sudo Linux 不使用密码运行sudo命令

发布时间: 更新时间: 总字数:479 阅读时间:1m 作者: IP上海 分享 网址

在 Linux 或类似 Unix 的系统上,如何在没有密码的情况下使用 sudo 命令?

/etc/sudoers 格式

<username>      ALL=(ALL)    ALL
%<groupname>    ALL=(ALL)    ALL
<username>      ALL=(ALL)    NOPASSWD: ALL
%<groupname>    ALL=(ALL)    NOPASSWD: ALL

<username>      ALL=(ALL)    NOPASSWD: <cmd-abs-path1>, <cmd-abs-path2>, <cmd-abs-path3>
%<groupname>    ALL=(ALL)    NOPASSWD: <cmd-abs-path1>, <cmd-abs-path2>, <cmd-abs-path3>
  • 常见配置
Defaults	env_reset
Defaults	secure_path="/usr/local/sbin:/usr/local/bin:/usr/sbin:/usr/bin:/sbin:/bin:/snap/bin"

...

# User privilege specification
root	ALL=(ALL:ALL) ALL

# 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

配置步骤

  1. 备份 sudoers 文件
sudo cp /etc/sudoers /root/sudoers.bak
  1. 进入 sudoer 交互命令
$ visudo

$ sudo visudo
  1. /etc/sudoers 文件中,在名为xiexianbin的用户添加/编辑以下行,以运行/bin/killsystemctl命令:
xiexianbin ALL=NOPASSWD:/bin/systemctl restart httpd.service,/bin/kill

cat >> /etc/sudoers.d/xiexianbin << EOF
xiexianbin ALL = (root) NOPASSWD:ALL
EOF
  1. 保存退出

测试

运行 /bin/kill 时并不需要输入密码即可杀掉进程:

$ sudo /bin/kill <pid>

重启服务也不需要数据密码

$ sudo /bin/systemctl restart httpd.service

F&Q

sudo must be owned by uid 0 and have the setuid bit set

执行 sudo 命令报错:

$ sudo xxx
sudo: /usr/bin/sudo must be owned by uid 0 and have the setuid bit set
  • 知道 root 密码

su 登录 root 用户,执行命令

chmod 4755 /usr/bin/sudo
chmod 755 /usr
  • 未知 root 密码,采用 recovery 模式恢复

sudo 执行命令 env 不生效问题

原因:/etc/sudoers 配置了 env_reset 默认重置环境变量(安全原因)

解决方法:参考

方法一:可以修改为 Defaults !env_reset 即可实现不重置环境变量

$ cat /etc/sudoers | grep env_reset
Defaults	env_reset

方法二:在 ~/.profile~/.bashrc 中使用 alias 添加环境变量,重新退出后执行即可生效。示例如下

export ABC="abc"
alias sudo='sudo env ABC=$ABC'

ansible 执行时报错:sudo with NOPASSWD

/etc/sudoers 配置用户时,添加 NOPASSWD 即可

admin    ALL=(ALL)    NOPASSWD:ALL,!/bin/su,!/usr/bin/chattr
Home Archives Categories Tags Statistics
本文总阅读量 次 本站总访问量 次 本站总访客数