如何在Ubuntu中将用户添加到Sudoers
sudo是一个命令行程序,它允许受信任的用户以root或者其他用户身份执行命令。
在本文中,我们将向我们展示两种向用户授予sudo特权的方法。
第一个是将用户添加到sudoers文件中。
该文件包含控制使用sudo特权授予哪些用户和组以及特权级别的信息。
第二个选项是将用户添加到“ sudoers”文件中指定的sudo组中。
默认情况下,在基于Debian的发行版(如Ubuntu和Linux Mint)上,“ sudo”组的成员被授予sudo访问权限。
将用户添加到sudo组
在Ubuntu上,向用户授予sudo特权的最简单方法是将用户添加到“ sudo”组。
该组的成员可以以root用户身份通过'sudo'执行任何命令,并在使用'sudo'时提示使用密码进行身份验证。
我们假设该用户已经存在。
如果要创建新用户,请查看本教程。
要将用户添加到组中,请以root或者其他sudo用户身份运行以下命令。
确保使用要授予权限的用户名更改“用户名”。
usermod -aG sudo username
对于大多数用例,使用此方法授予sudo访问权限就足够了。
为了确保用户具有sudo特权,请运行“ whoami”命令:
sudo whoami
系统将提示我们输入密码。
如果用户具有sudo访问权限,则该命令将显示“ root”:
root
如果我们看到“用户不在sudoers文件中”的错误消息,则表明该用户没有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
保存文件并退出编辑器。
不要忘记用我们要授予访问权限的用户名更改“用户名”。
另一个典型示例是允许用户通过'sudo'仅运行特定命令。
例如,要仅允许“ mkdir”和“ rmdir”命令,可以使用:
/etc/sudoers
username ALL=(ALL) NOPASSWD:/bin/mkdir,/bin/rmdir
无需编辑sudoers文件,我们可以通过在'/etc/sudoers.d'目录中使用授权规则创建一个新文件来完成此操作。
添加与添加到sudoers文件中相同的规则:
echo "username ALL=(ALL) NOPASSWD:ALL" | sudo tee /etc/sudoers.d/username
这种方法使sudo特权的管理更加可维护。
文件名不重要。
通常的做法是文件名与用户名相同。