通过 wheel 组授予 sudo 访问权限
在本步骤中,你将学习一种标准的授予管理权限的方法:将用户添加到预先配置了 sudo
访问权限的特殊组(通常是 wheel
或 sudo
)。这种方法比在 sudoers
文件中添加单独的用户条目更易于管理和扩展。我们将继续使用 testuser
账户。
首先,让我们确认 testuser
当前没有 sudo
权限。切换到 testuser
账户。密码是 password
。
su - testuser
现在,作为 testuser
,尝试运行一个需要 root 权限的命令,例如带 sudo
的 whoami
。系统会提示你输入 testuser
的密码。
sudo whoami
输入密码后,命令将失败。你将看到一条消息,表明 testuser
不在 sudoers 文件中。这是预期的结果。
[sudo] password for testuser:
testuser is not in the sudoers file. This incident will be reported.
现在,键入 exit
返回到你的 labex
用户会话。
exit
接下来,我们需要编辑 sudoers
配置,以授予 wheel
组所有成员 sudo
访问权限。编辑此配置最安全的方法是使用 visudo
命令,该命令会在保存前验证语法,以防止你被锁定在系统之外。
sudo visudo
这将以文本编辑器(可能是 vi
或 nano
)打开 /etc/sudoers
文件。查找一个引用 %wheel
组的行。它可能被 #
字符注释掉了。
## %wheel ALL=(ALL) ALL
或者
## %wheel ALL=(ALL:ALL) ALL
你需要通过删除开头的 #
来取消注释此行。结果应如下所示:
%wheel ALL=(ALL) ALL
如果你在 vi
编辑器中,使用箭头键导航到 #
,按 x
删除它,然后键入 :wq
并按 Enter
保存并退出。如果你在 nano
中,只需删除 #
,按 Ctrl+X
,然后按 Y
,最后按 Enter
。
现在 wheel
组已获得授权,将 testuser
添加到其中。使用带有 -aG
选项的 usermod
命令,其中 -a
表示追加(append),-G
指定补充组(supplementary group)。
sudo usermod -aG wheel testuser
为了验证 testuser
是否已成为 wheel
组的成员,请使用 groups
命令:
groups testuser
输出应显示 wheel
在 testuser
的组列表中。
testuser : testuser wheel
最后,让我们测试一下新权限是否有效。切换回 testuser
。
su - testuser
再次尝试 sudo
命令。在提示时输入 password
。
sudo whoami
这次,命令应该成功执行并输出 root
,确认 testuser
现在拥有 sudo
权限。
[sudo] password for testuser:
root
键入 exit
返回到你的 labex
会话。你已通过将用户添加到 wheel
组成功授予了 sudo
访问权限。