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

sudo 是一个命令行程序,允许受信任的用户以 root 用户或其他用户身份执行命令。

我们将向您展示两种向用户授予 sudo 权限的方法。第一个是将用户添加到 sudoers 文件。此文件包含控制哪些用户和组被授予 sudo 权限以及权限级别的信息。

第二个选项是将用户添加到 sudoers 文件中指定的 sudo 组。默认情况下,在基于 Debian 的发行版(如 Ubuntu 和 Linux Mint) 上, “sudo” 组的成员被授予 sudo 访问权限。

将用户添加到 sudo 组

在 Ubuntu 上,向用户授予 sudo 权限的最简单方法是将用户添加到 “sudo” 组。 sudo 组的成员将能够以 root 身份执行任何命令,并且在使用 sudo 时将提示使用其密码对自己进行身份验证。

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

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

usermod -aG sudo username

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

要确保用户具有 sudo 权限,请运行以下 whoami 命令:

sudo whoami

系统将提示您输入密码。如果用户有 sudo 访问权限,该命令将打印 “root” :

root

如果您收到错误消息“user is not in the sudoers file”,则表示该用户没有 sudo 权限。

将用户添加到 sudoers 文件

sudo 用户和组的权限在 /etc/sudoers 文件中定义。将用户添加到此文件允许您授予对命令的自定义访问权限并配置自定义安全策略。

您可以通过修改 sudoers 文件或在 /etc/sudoers.d 目录中创建新配置文件来配置用户 sudo 访问权限。此目录中的文件包含在 sudoers 文件中。

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

通常, visudo 使用 vim 打开 /etc/sudoers 。如果您没有使用 vim 的经验,并且想要使用 nano 编辑文件,请运行以下命令更改默认编辑器:

EDITOR=nano visudo

假设您希望允许用户在不要求输入密码的情况下运行 sudo 命令。为此,请打开 /etc/sudoers 文件:

visudo

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

username  ALL=(ALL) NOPASSWD:ALL

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

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

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

您可以通过在 /etc/sudoers.d 目录中创建具有授权规则的新文件来完成相同的操作,而不是编辑 sudoers 文件。添加与添加到 sudoers 文件中相同的规则:

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

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

结论

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