如何在 CentOS 中将用户添加到 sudoers
2019/08/19 10:29:55 来源:Linux公社 作者:醉落红尘

sudo 是一个命令行实用程序,旨在允许受信任的用户以另一个用户(默认情况下是 root 用户)身份运行命令。

要授予用户 sudo 访问权限,您有两个选项。第一个是将用户添加到 sudoers 文件。此文件包含定义哪些用户和组被授予 sudo 权限以及权限级别的信息。

第二个选项是将用户添加到 sudoers 文件中定义的 sudo 组。默认情况下,在基于 RedHat 的发行版(如 CentOS 和 Fedora) 上, “wheel” 组的成员被授予 sudo 权限。

我们将在下面解释这两个选项。

将用户添加到 wheel 组

在 CentOS 上向用户授予 sudo 权限的最简单方法是将用户添加到 “wheel” 组。该组的成员将能够通过 sudo 运行所有命令,使用时 sudo 会提示用密码验证自己。

我们假设用户已经存在。如果要创建新用户,请查看本指南。

要将用户添加到组,请以 root 或其他 sudo 用户身份运行以下命令。将 “username” 更改为您要授予其权限的用户的名称。

usermod -aG wheel username

对于大多数用例,使用此方法授予 sudo 访问权限已足够。

要测试 sudo 访问权限,请切换到用户:

su - username

运行 whoami 命令:

如果用户有 sudo 访问权限,该命令将打印 “root” :

root

如果您收到错误消息 “user is not in the sudoers file”,则表示该用户没有 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

向下滚动到文件末尾并添加以下行:

username  ALL=(ALL) NOPASSWD:ALL

保存文件并退出编辑器。不要忘记使用您要授予访问权限的用户名更改上面的 username 。

另一个常见示例是允许用户仅仅能通过 sudo 运行特定的命令。例如,要仅允许使用的 du 和 ping 命令:

请编辑 /etc/sudoers 文件

username ALL=(ALL) NOPASSWD:/usr/bin/du,/usr/bin/ping

您也可以通过在 /etc/sudoers.d 目录中创建具有授权规则的新文件来实现相同的操作,而不是编辑 sudoers 文件。运行以下命令添加与上面相同的规则:

echo "username  ALL=(ALL) NOPASSWD:ALL" | sudo tee /etc/sudoers.d/username

这种方法使得 sudo 权限的管理更易于维护。文件名不重要,通常的做法是将文件名与用户名相同。

结论

在 CentOS 或者其他基于 RedHat 的发行版中,授予用户 sudo 访问权限是一项简单的任务,您只需将用户添加到 “wheel” 组即可。

Linux公社的RSS地址https://www.linuxidc.com/rssFeed.aspx

本文永久更新链接地址https://www.linuxidc.com/Linux/2019-08/160207.htm


5

本栏最新