Written by Sk December 16, 2020
我们已经向您展示了如何在Alpine、CentOS、Ubuntu中创建一个新的sudo用户,授予现有用户sudo权限和撤销用户的sudo权限。在本指南中,我们将看到如何在Arch Linux及其衍生发行版中为用户添加、删除和修改sudo权限。
在Arch Linux中为用户添加、删除和修改sudo权限以root用户或任何其他现有的sudo用户登录。如果它是一个新安装的系统,除了root用户外,您不应该有任何其它用户。我这里是新安装的Arch系统,所以我以root用户登录。
以root用户的身份运行以下命令,确保你已经安装了sudo包:
~$ pacman -Syu~$ pacman -S sudo
第一个命令将同步存储库并将Arch Linux系统更新到最新可用版本。第二个命令将安装sudo,如果它还没有安装。
接下来,创建一个新用户,并向该用户添加sudo特权。
1. 在Arch Linux中创建sudo用户运行以下命令来创建一个新用户,例如ostechnix:
~$ useradd --create-home ostechnixss
设置新用户的密码:
~$ passwd ostechnix
我们已经创建了一个名为ostechnix的新用户。我们还没有将sudo权限授予用户。您可以验证用户是否具有sudo权限:
~$ sudo -lU ostechnix
输出示例:
~$ User ostechnix is not allowed to run sudo on archlinux.
在Arch Linux中检查用户是否具有sudo权限
是的,用户还不被允许执行管理任务。接下来我们将授予他sudo权限。
要将一个普通用户添加到sudoers列表中,只需将他/她添加到wheel用户组即可。wheel在许多类unix操作系统中是一个特殊的用户组。wheel用户组的所有成员都可以执行管理任务。Wheel 用户组类似于基于debian的系统中的sudo用户组。
我们可以通过两种方式将用户添加到sudoers列表中。第一种方法是使用chmod命令。
1.1. 在Arch Linux中使用usermod命令将用户添加到sudoers列表中在Arch Linux中添加用户到sudoers列表,运行:
~$ usermod -aG wheel ostechnix
或者,
~$ usermod --append --groups wheel ostechnix
在Arch Linux中使用usermod命令将用户添加至sudoers列表
上面的命令将把名为ostechnix的用户添加到"wheel"组。如前所述,wheel组的成员可以使用sudo命令执行管理任务。
接下来,使用命令编辑/etc/sudoers文件:
~$ vi /etc/sudoers
查找并取消下面一行的注释(只需删除行开头的#符号):
%wheel ALL=(ALL) ALL
取消对应注释使得wheel用户组的成员能够运行任何命令
按ESC键,输入:wq保存文件并退出。
您还可以将用户添加到sudo组,以允许其成员运行任何命令。
~$ usermod -aG sudo ostechnix
编辑/etc/sudoers的文件:
~$ vi /etc/sudoers
取消下面一行的注释:
%sudo ALL=(ALL) ALL
保存文件并退出。
我们已经将用户ostechnix添加到sudoers列表中。现在你可以检查该用户是否具有sudo权限了。
1.2. 在Arch Linux中编辑sudoers配置文件,将用户添加到sudoers列表中在Linux中给用户分配sudo权限的另一种方法是手动将用户添加到/etc/sudoers文件中,如下所示。
编辑/etc/sudoers的文件:
~$ vi /etc/sudoers
向下滚动,直到找到以下条目:
root ALL=(ALL) ALL
就在上述条目之后,添加以下一行:
ostechnix ALL=(ALL) ALL
在sudoers配置文件中手动添加用户
这里ostechnix应该使用您自己的用户名。保存文件并退出。ALL=(ALL) ALL表示用户ostechnix可以在主机上运行任何命令。
1.3. 检查用户在Arch Linux中是否有sudo访问权限要检查用户是否有sudo权限,可以运行:
~$ sudo -lU ostechnix
输出示例:
User ostechnix may run the following commands on archlinux: (ALL) ALL
检查用户是否具有sudo权限
在这里,我们可以看到用户ostechnix拥有sudo权限。
让我们使用这个用户执行一些管理任务,以验证他是否真的拥有sudo权限。注销并以ostechnix用户的身份重新登录。或者,您可以运行以下命令,立即切换到ostechnix用户:
~$ su - ostechnix
我们切换到ostechnix用户。现在尝试运行一个管理操作。
~$ sudo pacman -Syu
输出示例:
验证用户是否具有sudo权限
可见,用户ostechnix能够执行管理任务。
2. 删除Linux用户的sudo权限我们可以取消用户的sudo特权,同时不需要删除该用户。
首先,从用户注销并以root或另一个sudo用户重新登录。接下来,删除用户的sudo特权,只需在Arch Linux中使用以下命令将他/她从wheel组删除:
~$ gpasswd -d ostechnix wheel
如果您已经将用户添加到sudo组,您也需要将他/她也从该组中删除。
~$ gpasswd -d ostechnix sudo
就是这样。用户不再位于sudoers列表中,因此他不能运行任何管理任务。
你可以用命令来验证:
~$ sudo -lU ostechnix
在Arch Linux上删除用户的sudo权限
如果你不再需要这个用户,也可以使用这个命令将他从系统中完全删除:
~$ userdel -r ostechnix
在这里,-r参数用于指定删除用户的$HOME目录。
有关详细信息,请参阅各自命令的帮助手册:
$ man sudo$ man useradd$ man usermod$ man gpasswd$ man userdel
现在就到这里。在本指南中,您学习了如何创建sudo用户,如何向现有用户授予sudo特权,最后如何在Arch Linux中删除用户的sudo特权。对于管理任务,建议始终使用sudo用户来进行完成。请避免使用root用户进行服务器管理操作。
往期文章本文译自: Add, Delete And Grant Sudo Privileges To Users In Arch Linux
作者: Sk
译者: OpenView
校对: 开源科学计算
原文及本文遵循: [CC BY-NC4.0协议]
在Linux中查找已连接网络的WiFi密码
Linux下制作系统的U盘启动盘
Linux下无法挂载exfat格式的分区
在Linux上如何校验ISO镜像文件
如何在Linux上安装和使用Etcher制作Linux启动盘
Linux下常用的图形应用下载工具
如何在Linux上查看图像元数据
使用inxi来获得Linux系统详细信息
"隐写术":在Linux上实现将文件隐藏到图像中(下)
DuMux: 基于Dune的多孔介质流体输运研究工具
在Linux中使用Bashtop与Bpytop监管系统资源
2020年Linux最佳图形设计软件
Neofetch – 通过终端显示Linux系统信息
Linux下如何拼接PDF文件
喜欢使用Linux办公、学习、hack的朋友们可以点击关注小编,小编将竭力提供更多内容给大家交流~