5.linux系统中的用户管理
前言
本章主要对用户和用户组进行学习,包括用户及用户组的存在意义与方式、用户切换、用户涉及到的系统配置文件、用户与用户组建立与删除、用户认证、用户权力下放等内容。
一、用户与用户组
1.存在意义
系统资源是有限的,我们通过建立不同的用户来合理分配系统资源,这就是用户存在的意义。一个用户存在必须要有1身份 account,2授权author,3认证auth。3A机制组成系统中最底层的安全架构。
用户组相对而言就好比一个逻辑容器,用分组的方式对用户进行归类和统一授权。
2.存在方式
在计算机中,电脑对数字敏感,而现实生活里,电脑的使用者对字符串比较敏感,所以我们对每个电脑用户都设定了专门的id和名称,每一个id对应的名称必须要记录到文件中用户才能存在。所以,用户就是/etc/passwd文件和宗的一行字符;用户组存在方式就是/etc/group文件中的一行字符。
用户westos:
用户组:
二、用户切换
1.用户查看
-
whoami #查看当前用户信息
-
id -a 查看当前用户的所有信息
-u 当前用户的用户id
-g 当前用户的主组(初始组)id
-G 当其用户的所有组的id
-n 显示名称 但不能单独使用 用法为: -gn -Gn
用户id范围:
0-2^16 即0-65535
0: linux超级用户id
1-999: linux系统自用id
1000-65535 : 用户级id
以上id设定规则都被记录在/etc/login.defs
2.用户切换
su - username 切换用户同时切换用户系统环境,其中username必须存在
su - root 普通用户切换到超级用户和其他用户都需要密码
su - westos 超级用户切换到普通用户不需要密码
su westos su - westos 其中 - 切换用户的环境
每切换一次 即为打开一次新的shell
注:不要在一个shell中反复执行su命令,在作用户切换是当使用完毕后即使退出。
三、涉及到的系统文件配置
-
/etc/passwd ##用户身份信息文件
#用户名称:用户密码:用户id:用户主组id:用户说明:用户家目录:用户默认
-
/etc/group ##组身份信息文件
#组名称:组密码:组id:组的附加成员
-
/etc/skel/.* ##用户环境配置文件模板
-
/etc/shadow ##用户认证信息文件
-
/home/username ##用户家目录
-
/var/spool/mail/username ##用户邮箱文件
四、建立与删除用户和用户组
在建立用户之前首先对用户和用户组进行监控,
watch -n -1 对文件每1秒监控刷新
tail -n -3 对文件后三行显示
监控窗口:
然后,对用户家目录进行监控,操作同上
useradd hyl 建立用户hyl
可以看到,监控窗口增添了hyl用户和用户组及对应家目录。
useradd -r 删除用户及其系统配置,注(若去掉-r不会删除家目录)
useradd -u id hyl 建立用户id为id的用户
useradd -g id hyl 建立主组为id的用户,其中主组id必须已存在
useradd -G id hyl 建立附加组为id的用户,附加组必须已存在,主组自动生成
useradd -d dir hyl 建立指定用户家目录
useradd -M hyl 建立用户不建立家目录
useradd -c word hyl 指定用户说明
useradd -s shell hyl 指定用户shell
注:在做上述实验时,创建新的用户必须删除之前的同名用户及系统配置。
groupadd 组建立
-g id 建立并指定组名称
五、用户和用户组的信息管理
-
usermod用户和用户组信息修改
usermod -l 新用户名 原用户名 #修改用户名
-u 新id #修改用户id
-g 新主组id #修改用户主组
-G 附加组id #修改用户附加组
-aG #添加附加组
-G “” #删除附加组
-c #修改用户介绍
-d #修改家目录指向
-md #修改家目录指向同时修改目录名称
groupmod -g 修改用户组id
#当想删除用户但用户正在被进程占用时,使用 kill -9 进程编号 先强行结束进程 再 userdel -r westos1 删除用户westos1
六、用户认证信息管理
通过文件/etc/shadow,查看passwd格式
用户名称:用户密码的加密字符:用户密码最后一次被修改时间(从1970-01-01算到今天的时间):密码最短有效期(多少天内不能修改密码):密码最长有效期(多少天内密码必须更改):密码过期前警告期(过期前多少天警告):账号非活跃期(超过最大认证时间还能用多久):账号到期时间:用户自定义(未使用)
passwd -S hyl 查看密码
passwd hyl 超级用户修改密码 密码随意
passwd 普通用户修改密码 密码格式有限制
非交互式修改密码 echo westos | passwd --stdin hyl
passwd -d hyl 删除用户密码(root)
passwd -l hyl 冻结
passwd -u hyl 解锁 强制解锁用 -uf
passwd -e hyl 最后修改时间改为0 : 账号必须该密码才能登陆
也可用chage -d 0 hyl
passwd -n 1 hyl 修改密码最短有效期: hyl在1天内不能修改密码
chage -m 0 lee 同上
passwd -x 30 hyl 修改密码最长有效期为30天,30天内用户必须更改密码否则会被冻结
chage -M 99999 hyl 同上
passwd -w 3 hyl 过期警告修改,账号过期前警告时间
chage -W 6 hyl
passwd -i 2 hyl 认证非活跃天数: 账号认证最大时间超过后还能用两天
chage -I 3 hyl
chage -E “2021-04-04” 到2021-04-04这天账号会被冻结
七、用户权力下放
用于普通用户执行系统管理命令,执行前需要root用户进行权力下放。
如图,进入普通用户模式,创建新用户发现权限不够,需要root授权。
查看此用户主机名 hostname
查看useradd命令的绝对路径,which useradd
超级用户输入命令visudo进行授权,在100行左右按照:
用户名 主机名=(root)执行useradd命令(绝对路径)
再次进入普通用户,即可进行相应授权操作,用sudo调用useradd。
可成功创建用户,但需要密码。
如需免密码需要进入visudo进行免密授权
TEST
1.
2.
lee:westoslee:
linux:
westosadmin:
3.
修改密码:
首次登陆输入密码:
密码有效期和过期前警告:
最终结果:
总结
本章主要学习了解了用户及用户组的存在意义与方式、用户切换、用户涉及到的系统配置文件、用户与用户组建立与删除、用户认证、用户权限下放等内容,需要加强对用户认证和权限下放命令的熟练度。