如何在CentOS中将用户添加到Sudoers
sudo是一个命令行实用程序,旨在允许受信任的用户以其他用户(默认情况下为root用户)的身份运行命令。
我们有两个选项可以向用户授予sudo访问权限。
第一个是将用户添加到sudoers文件中。
该文件包含的信息定义了哪些用户和组被授予sudo特权以及特权级别。
第二个选项是将用户添加到“ sudoers”文件中定义的sudo组中。
默认情况下,在基于RedHat的发行版(如CentOS和Fedora)上,“ wheel”组的成员被授予sudo特权。
将用户添加到wheel组
在CentOS上向用户授予sudo特权的最简单方法是将用户添加到“ wheel”组。
该组的成员能够通过'sudo'运行所有命令,并在使用'sudo'时提示使用密码进行身份验证。
我们假设该用户已经存在。
如果要创建新用户,请查看本教程。
要将用户添加到组,请以root或者其他sudo用户身份运行以下命令。
将“用户名”更改为我们要授予其权限的用户名。
usermod -aG wheel username
对于大多数用例,使用此方法授予sudo访问权限就足够了。
要测试sudo访问,请运行“ whoami”命令:
sudo whoami
系统将提示我们输入密码。
如果用户具有sudo访问权限,该命令将显示“ root”:
root
如果我们看到“用户不在sudoers文件中”的错误消息,则表明该用户没有sudo特权。
将用户添加到sudoers文件
用户和组的sudo特权在“/etc/sudoers”文件中配置。
将用户添加到此文件后,我们可以授予对命令的自定义访问权限,并为用户配置自定义安全策略。
我们可以通过修改sudoers文件或者通过在'/etc/sudoers.d'目录中创建新的配置文件来配置用户sudo访问。
该目录内的文件包含在sudoers文件中。
要编辑“/etc/sudoers”文件,请使用“ visudo”命令。
保存文件时,此命令检查文件是否存在语法错误。
如果有任何错误,则不会保存文件。
如果使用文本编辑器打开文件,则语法错误可能会导致失去sudo访问权限。
通常,'visudo'使用vim打开'/etc/sudoers'。
如果我们没有使用vim的经验,并且想要使用nano类型编辑文件,请执行以下操作:
EDITOR=nano visudo
假设我们要允许用户运行sudo命令而无需输入密码。
打开“/etc/sudoers”文件:
visudo
向下滚动到文件末尾并添加以下行:
/etc/sudoers
username ALL=(ALL) NOPASSWD:ALL
保存文件并退出编辑器。
不要忘记用我们要授予访问权限的用户名更改“用户名”。
另一个常见的示例是允许用户通过'sudo'仅运行特定命令。
例如,要仅允许使用“ du”和“ ping”命令,可以使用:
/etc/sudoers
username ALL=(ALL) NOPASSWD:/usr/bin/du,/usr/bin/ping
除了编辑sudoers文件之外,我们还可以通过在'/etc/sudoers.d'目录中使用授权规则创建一个新文件来实现相同目的。
添加与添加到sudoers文件中相同的规则:
echo "username ALL=(ALL) NOPASSWD:ALL" | sudo tee /etc/sudoers.d/username
这种方法使sudo特权的管理更加可维护。
文件名不重要。
通常的做法是文件名与用户名相同。