首次安装 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 将组和用户添加到服务器是一个非常简单但也有潜在危险的操作。因此,请务必始终牢记要创建的用户类型,并注意要向其授予管理员权限的用户。