如何在 Ubuntu 中添加 Sudo 用户

Suraj Joshi 2023年1月30日 2020年9月19日
  1. 将用户添加到 sudo 组中
  2. sudoers 文件中添加用户
如何在 Ubuntu 中添加 Sudo 用户

我们只能以 root 用户的身份使用 sudo 命令执行特定的命令。root 用户也被称为 sudo 用户。在 Ubuntu 中,我们可以通过将用户添加到 sudo 组或将用户添加到/etc/sudoers 目录下的文件中来添加 sudo 用户。

将用户添加到 sudo 组中

假设你有一个不是 sudo 用户的用户。要将该用户添加到 sudo 组,我们以现有超级用户的身份运行以下命令。

usermod -aG sudo username

这里,username 是需要添加到 sudo 组的用户名称。

usermod -aG sudo zeppy

它将 zeppy 添加到 sudo 组中。

我们使用 whoami 命令来确认用户是否已经被添加到 sudo 中。

sudo whoami

这个命令提示我们输入密码,如果密码正确,并且该用户在 sudo 组中,终端中会打印出 root

输出:

root

如果用户不在 sudo 组中,我们会得到一个错误信息说 user is not in the sudoers file

sudoers 文件中添加用户

sudo 用户列在/etc/sudoers 文件中。我们可以通过修改 sudoers 文件或在/etc/sudoers.d 目录下添加新的配置文件来添加 sudo 用户。

我们使用 visudo 命令,用 vim 编辑器来编辑/etc/sudoers 文件。visudo 命令在保存前会检查文件中的语法错误。

我们使用下面的命令来使用 nano 编辑器来编辑/etc/sudoers 文件。

EDITOR=nano visudo

如果我们希望允许用户在不被提示密码的情况下运行 sudo 命令,我们使用以下命令打开 /etc/sudoers 文件。

visudo

如果出现权限拒绝的错误,请尝试使用下面的命令。

sudo visudo

现在/etc/sudo 文件将被打开,我们需要在文件的最后添加以下一行。

username ALL=(ALL) NOPASSWD:ALL

这里,username 是我们赋予权限的用户的名字。

在退出编辑器之前,我们需要保存文件。

我们也可以允许用户在没有密码的情况下只执行某些命令。

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

这使得 zpepy 可以在没有密码的情况下执行/bin/mkdir/bin/rmdir 命令。

我们也可以通过在/etc/sudoers.d 目录下创建配置文件来实现用户运行命令的权限。

现在我们必须在文件中添加与/etc/sudo 文件中相同的内容。

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

它使 zeppy 能够在没有密码的情况下执行/bin/mkdir/bin/rmdir 命令。

这种方法的好处是,它使事情变得更容易管理,因为我们可以为每个用户的文件名创建一个单独的文件。

Author: Suraj Joshi
Suraj Joshi avatar Suraj Joshi avatar

Suraj Joshi is a backend software engineer at Matrice.ai.

LinkedIn