首次安装 Linux 的服务器时,会自动创建具有超级管理员权限的root用户。这意味着该用户可以完全控制计算机上执行的资源和命令。
但通常其他协作者也可能需要通过管理员访问服务器,如果向所有需要访问 root 用户的用户提供root用户的登录凭据是非常危险,因为他们可能会对服务器应用不需要的更改,造成整个系统故障。
因此,了解如何管理用户并授予他们不同级别的权限至关重要。在本教程中,您将学习如何使用 Linux Ubuntu 18.04 服务器添加新用户、删除系统用户并授予他们管理员权限。
如何在 Linux 中添加用户呢?如果我们想要在Linux环境下添加新用户需要先将新用户添加到系统,然后定义用户应属于的组的类型。组的存在主要用来管理用户所具有的权限。
每个用户只能属于一个主组,该组是在创建用户时自动生成的,并且此用户创建的文件将分配给相应的主组。(可选)用户还可以属于一个或多个辅助组,以定义他们拥有的更多权限。
假设您要创建新用户,需要先创建组,然后添加用户,若要创建组,可以使用以下命令:
sudo addgroup my_group
注意:将my_group替换为要分配给组的名称。
创建一个新用户,并通过输入以下内容来授予他访问服务器的权限:
adduser first_user
注意:将first_user替换为你的用户名。
可以使用以下命令将用户添加到一个或多个组中:
sudo usermod -a -G group1,group2 first_user
注意:将group1,group2替换为应将用户添加到的组的名称,并将first_user替换为要添加的用户的名称。
系统将要求您指定用户登录服务器的密码以及其他可选信息,如果您不想输入它,只需按每个项目的回车键即可。最后,将显示一个提示:回答Y接受,N拒绝。
以下屏幕显示了Ubuntu创建新组my_group时的提示,创建用户first_user和second_user,最后将两个新用户添加到组my_group:

要验证用户创建是否正确,可以测试该用户名及密码能否通过 SSH 连接,如示例first_user。
新创建的用户无权访问 root 权限。但是可以运行带有sudo的任何命令来获取相关的错误消息:

如果你想查看和你在同一组的其他用户,可以通过添加grep命令来使用getent group命令:
getent group | grep mygroup
同样,要查看与新用户关联的组,只需输入以下指令:
getent group | grep first_user
注意:将mygroup和first_user分别替换为要搜索的组和用户的名称。
以下屏幕显示了两个命令的输出,其语法为group: password: GID: users,其字段分别对应于组的名称、密码ID和属于组的用户列表。

要想给已经创建的用户授予管理权限,即 sudo 权限,需要使用 root 用户登录到服务器,并将first_user帐户添加到sudo组。
以 root 用户(或已启用 sudo 的用户)身份登录后,输入以下内容:
sudo usermod -aG sudo first_user
此时first_user就具有了sudo权限,可以使用以下指令来查看添加是否成功

删除用户只能由具有管理员权限的其他用户执行。要删除用户,请执行以下命令:
sudo deluser --remove-home first_user
注意,通过这种方式,将删除此用户的文件所在的/ home /文件夹,以及用户的主要组。

使用 Linux 将组和用户添加到服务器是一个非常简单但也有潜在危险的操作。因此,请务必始终牢记要创建的用户类型,并注意要向其授予管理员权限的用户。