如何在 CentOS 中将用户添加到 sudoers

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

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

第二个选项是将用户添加到 sudoers 文件中定义的 sudo 组。默认情况下,在基于 RedHat 的发行版(如 CentOSFedora) 上, “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.heiqu.com/11766.html