在Linux服务器系统中向用户添加,删除和授予Sudo权限
本文介绍了如何在Linux服务器系统中添加、删除和授予Sudo权限给用户。下面提供的步骤是在Ubuntu 20.04 LTS版中测试的。然而,在其他发行版上的步骤也是一样的,如Arch Linux、Debian、Fedora、CentOS、RHEL、openSUSE等。
首先,我们将创建一个普通用户。
1、在Linux中添加新用户
首先,创建一个常规用户,例如“ ubuntuserver”。为此,请运行:
$ sudo adduser ubuntuserver
这样就已创建一个名为“ ubuntuserver”的新用户。
2、向Linux中的用户授予Sudo权限
在某些Linux系统(例如Arch Linux)中,需要在创建新的sudo用户之前安装“ sudo”软件包。
# pacman -S sudo
在Debian上:
# apt install sudo
在Ubuntu服务器和台式机上,默认情况下安装“ sudo”。
现在,使用以下命令将新创建的用户添加到sudo组:
$ sudo adduser ubuntuserver sudo
这样名为“ ubuntuserver”的用户已被授予sudo权限。
您也可以使用以下命令将用户添加到sudo组。
$ sudo usermod -aG sudo ubuntuserver
要验证用户是否在sudo组中,请运行:
$ sudo -l -U ubuntuserver

在此,“(ALL:ALL)ALL” 行表示用户具有无限权限,并且可以在系统上运行任何命令。在这种情况下,“ ubuntuserver”用户位于sudo用户组中,并且他现在可以执行各种管理任务。
如果打开sudoers文件的内容;
$ sudo cat / etc / sudoers
您将看到如下所示的一些行:

您可以看到的,sudo组的所有成员都可以执行任何命令。
第一个ALL是允许的用户。
第二个是主机。如果将同一“ sudoers”文件分发到许多主机,则用户可以在所有主机上执行管理命令。
第三个是您正在运行命令的用户。
最后一个是允许的命令。
2.1、验证Sudo用户
要进行验证,用户是否可以执行管理任务,请注销并以新用户身份重新登录。
另外,您可以立即以具有sudo权限的其他用户身份登录,而不必退出当前会话,如下所示。
$ sudo -i -u
例:
$ sudo -i -u ubuntuserver
现在,运行任何带有前缀“ sudo”的命令,如下所示。
$ sudo apt update
使用sudo权限运行命令
3、删除Sudo用户
您可以从用户删除sudo权限,而不必完全删除该用户。在Ubuntu系统中执行此操作时必须小心。不要从“ sudo”组中删除真正的管理员。系统中至少应有一个sudo用户。
要撤消用户的sudo权限,命令为:
$ sudo deluser ubuntuserver sudo
上面的命令将从“ sudo”组中删除名为“ ubuntuserver”的用户。
请注意,此命令只会从sudo组中删除用户“ ubuntuserver”,而不会从系统中永久删除该用户。
或者,运行以下命令以撤消用户的sudo权限:
$ sudo gpasswd -d ubuntuserver sudo
现在,该用户成为常规用户,并且无法使用sudo权限执行任何管理任务。
要验证用户是否真的从“ sudo”组中删除,请运行:
$ sudo -l -U ubuntuserver
sudo权限已从用户中删除。
4、永久删除用户
在以上步骤中,我们仅从“ sudo”组中删除了用户。但是用户仍然存在于系统中。要从Linux系统中完全删除用户,请以root或sudo用户身份登录并运行:
$ sudo deluser
例:
$ sudo deluser ubuntuserver
如果要删除用户及其主目录和邮件后台打印程序,请运行:
$ sudo deluser --remove-home ubuntuserver
