Linux是多用户多任务操作系统,Linux支持多个用户在同一时间内登陆,不同用户可以执行不同的任务,并且互不影响。
如果要使用Linux系统资源,必须向系统管理员申请一个账户,然后通过这个账户进入系统。通过建立不同属性的用户,一方面可以合理地利用和控制系统资源,另一方面也可以帮助用户组织文件,提供对用户文件的安全性保护。每个用户都有唯一的用户名和密码,在登录系统的时候只有正确输入用户名和密码,才能进入系统和自己的主目录。
用户组是具有相同特征用户的逻辑集合,将用户分组是 Linux 系统中对用户进行管理及控制访问权限的一种手段,通过定义用户组,很多程序上简化了对用户的管理工作。
用户和用户组的对应关系
用户和用户组的对应关系有以下 4 种:
-
一对一:一个用户可以存在一个组中,是组中的唯一成员。
-
一对多:一个用户可以存在多个用户组中,此用户具有这多个组的共同权限。
-
多对一:多个用户可以存在一个组中,这些用户具有和组相同的权限。
-
多对多:多个用户可以存在多个组中,也就是以上 3 种关系的扩展。
用户管理
useradd命令
创建用户,会同时创建与用户名同名的组,并且默认在/home
目录下创建与用户名同名的目录作为该用户主目录。
示例:
下面我们通过useradd
命令创建一个名为newxkd的目录,然后通过cut -d':' -f 1 /etc/passwd
命令来查看用户是否创建成功:

usermod命令
usermod
命令可以用于修改用户账号信息,例如用户名、用户组、备注信息等。格式如下所示:
usermod [选项] username
常用选项:
-
-l
:修改用户名。 -
-g
:修改用户所在用户组。 -
-d
:修改用户主目录。 -
c
:修改用户的备注信息。 -
u
:修改用户UID。
示例:
修改用户newxkd
的UID
:

passwd 命令
passwd
命令用于更改用户的密码。格式如下所以:
passwd [选项] [username]
常用选项:
-
-S
:显示密码信息。 -
-l
:停止账号使用。 -
-u
:启用已被停止的账户。 -
-d
:删除用户密码。 -
-f
:强迫用户下次登录时修改密码。
示例:
修改新用户newxkd的密码,注意如果是普通用户则执行passwd
就能修改自己的密码,如果新建用户后,要为新用户创建密码,则需要执行passwd 用户名
,注意要以root用户的权限来创建。

userdel 命令
如果一个用户的账号不再使用,可以从系统中删除。删除用户账号就是要将/etc/passwd等系统文件中的该用户记录删除,必要时还删除用户的主目录。
删除一个已用的用户账号可以使用userdel
命令,格式如下所示:
userdel [-r] 用户名
其中中括号[]参数可选,加-r
表示把用户的主目录一起删除。
示例:
例如我们可以尝试删除用户newxkd
的密码:

用户组管理
每个用户都有一个用户组,系统可以对一个用户组中的所有用户进行集中管理。
groupadd命令
groupadd
命令可以用于创建新的用户组,新用户组的信息将被添加到系统文件中。格式如下所示:
groupadd 选项 用户组
可用选项:
-
-g
: 指定新用户组的组标识号(GID)。 -
-r
:创建系统用户组,系统工作组的组ID小于 500。 -
-o
: 一般与-g
选项同时使用,表示新用户组的GID可以与系统已有用户组的GID相同。
示例:
创建一个新的用户组,并添加组ID:

groupmod命令
groupmod
命令用于修改用户组的属性。格式如下所示:
groupmod 选项 用户组
常用选项:
-
-g
:GID 为用户组指定新的组标识号。 -
-o
:与-g
选项同时使用,用户组的新GID可以与系统已有用户组的GID相同。 -
-n
:新用户组,修改用户组的名字。
示例:
将用户组newgroup
的名字改为newgroup1
:

newgrp命令
如果一个用户同时属于多个用户组,那么用户可以使用newgrp
命令在用户组之间切换,以便具有其他用户组的权限。格式如下所示:
newgrp [群组名称]
例如newgrp root
相当于将当前用户切换到root用户组,前提条件是root用户组确实是该用户的主组或附加组。
groupdel命令
groupdel
命令用于删除一个已有的用户组。
例如我们要删除用户组newgroup1
,命令如下所示:
groupdel newgroup1
网友评论