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

sudo  是一个命令行实用程序,默认情况下,该程序允许受信任的用户以其他用户的身份运行命令。

本教程显示了两种向用户授予 sudo 特权的方法。第一个是将用户添加到 sudoers 文件中。该文件包含一组规则,这些规则确定使用 sudo 特权授予哪些用户或组,以及特权级别。第二个选项是将用户添加到 sudoers 文件中指定的 sudo 组中。默认情况下,在 Debian 及其衍生版本中, “ sudo” 组的成员被授予 sudo 访问权限。

将用户添加到 sudo 组

向用户授予 sudo 特权的最快,最简单的方法是将用户添加到 “sudo” 组。该组的成员可以通过 sudo 以 root  身份执行任何命令,当然在使用 sudo时提示使用密码进行身份验证 。

我们假设您要分配给该组的用户已经存在。

以 root 或其他 sudo 用户身份运行以下命令以将该用户添加到 sudo 组中

usermod -aG sudo username

确保使用要授予访问权限的用户名更改“用户名”。

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

要确保已将用户添加到组中,请键入:

sudo whoami

系统将要求您输入密码。如果用户具有 sudo 访问权限,该命令将显示 “ root” 。否则,您将收到一条错误消息,提示“用户不在 sudoers 文件中”。

将用户添加到 sudoers 文件

用户和组的 sudo 特权在 /etc/sudoers 文件中定义。此文件使您可以授予对命令的自定义访问权限并设置自定义安全策略。

您可以通过编辑 sudoers 文件或在 /etc/sudoers.d 目录中创建新的配置文件来配置用户访问权限。该目录内的文件会自动包含进 sudoers 文件中。

请始终使用 visudo 命令来编辑 /etc/sudoers 文件。保存文件时,此命令检查文件是否存在语法错误。如果有任何错误,则不会保存文件。如果使用常规文本编辑器编辑文件,则语法错误可能会导致失去 sudo 访问权限。

visudo 使用 EDITOR  环境变量指定的编辑器,默认情况下为 vim 。如果要使用 nano 编辑文件,请运行以下命令更改变量:

EDITOR=nano visudo

假设您要允许用户运行 sudo 命令而不用输入密码,请打开 /etc/sudoers 文件:

visudo

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

username  ALL=(ALL) NOPASSWD:ALL

保存文件并退出编辑器

另一个典型示例是允许用户仅通过 sudo 来运行特定命令。例如,仅允许用户通过 sudo 使用 mkdirrmdir 命令,则可以使用:

username ALL=(ALL) NOPASSWD:/bin/mkdir,/bin/rmdir

您还可以通过在 /etc/sudoers.d 目录中创建一个包含授权规则的新文件来实现相同目的,而无需编辑 sudoers 文件:

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

这种方法使 sudo 特权的管理更加可维护。文件名并不重要,但是通常的做法是根据用户名命名文件。

结论

要向 Debian 中的用户授予 sudo 访问权限,只需将该用户添加到 “sudo” 组即可。