1 用户的分类2 用户与组的相关设置文件
2.1 passwd文件2.2 shadow文件2.3 group文件 3 CentOS系统中用户与组的创建及属性的修改示例
3.1 相关命令3.2 示例13.3 示例23.4 实操33.5 示例43.6 示例5 4 归纳参考文章
1 用户的分类在Linux系统中,先有组再有用户,也就是创建用户时需要指定其所属的组,若不指定,系统则自动新建一个与用户同名的组并将用户加入其中。
在Linux系统中,用户一般分为:
1)超级管理员(uid = 0):2)程序用户(uid = 1~499):不能登录系统,没有家目录。3)普通用户(uid = 500~60000):权限比超级管理员低,也可以登录系统。 2 用户与组的相关设置文件
Linux系统中用户与组的相关设置文件位于etc目录下的三个文件中,分别是passwd、shadow、group,这三个文件的作用分别如下:
(1)/etc/passwd:保存了操作系统中所有用户的信息。
(2)/etc/shadow:保存了用户的密码信息。普通用户打不开。
(3)/etc/group:记录了系统中所有组的信息。
(1)作用:保存操作系统中所有用户的信息。
(2)格式:共7个字段,用“ : ”隔开。以root用户、普通用户和程序用户为例
(root: x :0:0:root:/root:/bin/bash、zz: x:1000:1000:zz:/home/zz:/bin/bash、postfix: x :89:89::/var/spool/postfix:/sbin/nologin),讲述其中各字段含义如下:
字段1:用户名。字段2:密码占位符,如果为空则表示无密码。字段3:用户的uid。字段4:基本组的gid。字段5:用户信息记录字段。字段6:用户的家目录。字段7:用户登录系统后使用的命令解释器。“/bin/bash”表示可以登录系统;“/sbin/nologin”表示不能登录系统。
(3)查看文件信息:使用命令 vim /etc/passwd 。结果如下。
(1)功能:保存着用户密码信息。
(2)格式:共有8个字段,用“ : ”隔开,以root用户为例
(root:
6
6
6AKeRBXRrf.6ZT907$QpFfE1U1s41mOy.pctWgrCT4gyaDQ8azLw4qq6HiLiAxYOz30TleIHDSbgJYZKPPyTOpw3vDGeJSXbtQ2fXQp0::0:99999:7:::),讲述其中各字段含义如下:
字段1:用户名。字段2:用户的密码加密后的字符串。默认采用sha-512加密,还混合了盐值。字段3:距离1970/1/1(linux系统诞生的时间)密码最近一次的修改时间。字段4:密码的最短有效期。字段5:密码的最长有效期。建议时间为90天。字段6:密码过期前7天警告。字段7:密码的不活跃期。若写了数字,则密码过期后,该天数内还可以使用密码。字段8:用户的失效时间。
(3)查看文件信息:使用命令 cat /etc/shadow 。结果如下:
(1)功能:记录了系统中所有组的信息。
(2)查看文件信息:使用命令 cat /etc/group 。结果如下:
groupadd [选项] 组名 #新建组 选项:-g gid #指定组的组id groupmod [选项] 组名 # 修改组 选项:-g gid #修改组的组id groupdel [选项] 组名 #删除组 useradd [选项] 用户名 #新建用户 选项:-u uid #指定用户的用户id 选项:-g gid/组名 #指定用户的基本组 选项:-G gid/组名 #指定用户的附加组 选项:-M #用户没有家目录 选项:-s/sbin/nologin #用户不能登录系统 usermod [选项] 用户名 #修改用户 选项:-u uid #修改用户的用户id 选项:-g gid/组名 #修改用户的基本组 选项:-G gid/组名 #修改用户的附加组 userdel [选项] 用户名 #删除用户 选项:-r #连同家目录一起删除 id 用户名 #查看用户的基本信息 passwd [选项] 用户名 #为用户设置密码,注意,只能超级管理员用。 选项:-S #查看密码状态 选项:-x 天数 #指定密码最长有效时限 选项:-l #锁定指定账户的密码(仅限 root 用户) 选项:-u #解锁指名账户的密码(仅限 root 用户) 选项:-d #删除已命名帐号的密码(只有根用户才能进行此操作)。 chage [选项] 用户名 选项:-M #指定密码最长有效时限
各命令详细参数含义请点击各自链接查看。
3.2 示例1要求:建立一个名为class1的组,组id为1500;class2的组id为2000。具体操作步骤如下:
(1)方法一:先创建组:输入命令 groupadd class1 ;再修改gid: 输入命令groupmod -g 1500 class1 。
(2)方法二:创建组时指定gid: groupadd -g 2000 class2 。
(3)查看结果:使用命令 cat /etc/group ,查看新建的组及其gid。
要求:建立tom用户,其用户uid为600,要求其基本组为class1,附加组为class2。具体操作步骤如下:
(1)方法:输入命令 useradd -u 600 -g 1500 -G 2000 tom ,-g指定基本组,-G指定附加组。
(2)查看:使用命令 id tom ,查看该id信息。
要求:建立一个程序用户uid为250,用户为testuser,没有家目录。具体操作步骤如下:
(1)方法:使用命令 useradd -u 250 -M -s /sbin/nologin testuser ,-M不要自动建立用户的登入目录,-s指定用户登入后所使用的shell。
(2)查看:分别使用命令 id testuser 和 cat /ect/passwd | gred “testuser” 查看结果,其中grep配合通道符命令是对cat内容的过滤。可以看到创建用户时没有指定组,自动创建并指定。同时尝试使用命令su - testuser登录用户,登录失败。
要求:为tom用户设定密码为123,并设定密码最长有效期为90天,将用户密码进行锁定使其无法登录系统。具体操作步骤如下:
(1)设置密码。使用命令 passwd tom 为tom用户设置密码(需要在超级管理员状态下),然后输入密码,再次确认密码。
(2)设置密码最长有效期。 输入命令passwd -x 90 tom,或者chage -M 90 tom.
(3)查看密码状态。输入passwd -S tom,查看下是否设置成功。
(4)锁定tom的密码。输入命令passwd -l tom,锁定密码。并输入passwd -S tom以及cat /etc/shadow | grep "tom",查看密码状态。可以看到密码已被锁定,且加密后的密码多了两个!!。
(5)解锁tom的密码。输入命令passwd -u tom,锁定密码。并输入passwd -S tom,查看密码状态。
要求:删除tom用户和testuser用户,删除class1和class2组。具体操作步骤如下:
(1)删除用户:使用命令 userdel -r tom、 userdel -r testuser;其中-r是为了将用户的家目录一起删除。
(2)删除组:使用命令 groupdel class1、groupdel class2删除对应组。
(1)掌握Linux系统用户与组的关系;
(2)掌握用户的分类及各自uid范围;
(3)掌握Linux系统中用户与组的相关设置文件(passwd、shadow和group)以及解读这些设置文件;
(4)掌握用户与组的创建以及用户与组属性的修改(uid、gid及所属组等);
(5)了解命令字帮助手册的查询方法:命令字 --help。
[1] 《Kali Linux系统用户与组及其相关命令》
[2] 视频传送门



