如何在CentOS Linux上不使用密码进行sudo
时间:2020-01-09 10:39:46 来源:igfitidea点击:
在CentOS Linux系统上如何在没有密码的情况下使用sudo命令?
我以marlena @ my-cloud-server-ip身份登录,并禁用了ssh的root登录。
登录后,如何以root用户身份运行一些命令。
我是使用CentOS Linux 7服务器的唯一系统管理员。
如何在CentOS Linux云服务器下为名为marlena的用户运行或执行不带密码的sudo命令?
sudo(超级用户)只是CentOS Linux系统以另一个用户身份运行命令的工具。
通常以root用户身份。
您可以委派常见任务,例如重新启动服务器或重新启动Apache或使用sudo进行备份,以用于非特权用户。
默认情况下,sudo需要用户在CentOS 7上运行命令之前使用密码进行身份验证。
有时,您可能需要使用root特权运行命令,但是您不想使用sudo命令输入密码。
这对于脚本编写或任何其他目的很有用。
这可以通过编辑/etc/sudoers文件并设置正确的条目来实现。
您需要考虑在CentOS 6或7上允许不使用密码执行sudo命令的任何安全后果。
在CentOS Linux上无密码运行sudo
- 备份/etc/sudoers文件,运行:
sudo cp/etc/sudoers/root/sudoers.bak
- 在CentOS上编辑/etc/sudoers文件:
sudo visudo
- 在CentOS上运行不带密码的/usr/sbin/reboot命令:
marlena ALL = NOPASSWD:/usr/bin/reboot
- 保存并退出文件。
如何在CentOS上执行所有不带密码的sudo命令
以超级用户身份执行以下命令:
# visudo
或者
$ sudo visudo
追加以下条目以为名为marlena的用户运行不带密码的ALL命令:
marlena ALL=(ALL) NOPASSWD:ALL
在vim中保存并关闭文件。
也可以授予对组名(如sysadm)的访问权限。
sysadm组的任何成员都可以运行命令而无需输入密码。
语法是
%sysadm ALL=(ALL) NOPASSWD: ALL
当然,您可以强制sysadm组仅运行给定命令,例如/usr/sbin/reboot和systemctl:
%sysadm ALL=(ALL) NOPASSWD: /usr/sbin/reboot, systemctl