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文件

/etc/sudoers文件中配置了用户和组sudo特权。将用户添加到此文件后,您可以授予对命令的自定义访问权限,并为用户配置自定义安全策略。

您可以通过修改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特权的管理更加可维护。文件名并不重要,通常的做法是文件名与用户名相同。

结论

向用户授予sudo访问权限是一项简单的任务,您要做的就是将用户添加到“ wheel”组中。

如果您有任何问题,请随时发表评论。

如果你喜欢我们的内容可以选择在下方二维码中捐赠我们,或者点击广告予以支持,感谢你的支持