1.用户及用户组存在的意义
1)用户存在的意义
系统资源是有限的,如何合理分配系统资源?
在这个问题解决时必须要有连个资源配合
1.身份 account
2.授权 author
3.认证 auth
3A机制,3A机制组成系统中最底层的安全架构
2)用户组存在意义
用户组是一个逻辑容器
对用户进行归类和统一授权
2.用户组在系统中的存在方式
电脑对数字敏感 id
人类对字符串敏感 名称
id<---->名称 必须要记录到文件当中用户才能存在
用户就是/etc/passwd文件中的一行字符
用户组存在的方式就是/etc/group 文件中的一行字符
3.用户切换
1)用户查看
*whoami ##查看当前用户
*id ##查看当前用户id信息
-u ##查看用户的用户id
-g ##查看用户主组id
-G ##查看用户所有的组的id
-n ##显示名称
[root@westoslinux ~]# whoami
root
[root@westoslinux ~]# id
uid=0(root) gid=0(root) groups=0(root) context=unconfined_u:unconfined_r:unconfined_t:s0-s0:c0.c1023
[root@westoslinux ~]# id -u
0
[root@westoslinux ~]# id -g
0
[root@westoslinux ~]# id -G
用户id范围
0-65535
0: ##LINUX超级用户ID
1-999: #Linux系统自用ID
1000-65535: ##用户级ID
##以上ID设定规则都被记录在/etc/login.defs
2)用户切换
su - username
- #切换用户环境
username ##如果root---->commonuser 不需要后者密码
##root---->commonuser 不需要密码
##commonuser---->root 需要密码
#
##注意:在做用户切换时当使用完毕用户身份及时退出
##不要在一个shell中反复执行su命令
##在一个shell中反复执行su命令会导致环境错乱
[root@westoslinux ~]# su - westos
Last login: Mon Jul 19 22:53:37 CST 2021 on pts/1
[westos@westoslinux ~]$ exit
logout
[root@westoslinux ~]# exit
logout
[root@westoslinux Desktop]# exit
logout
Connection to 172.25.254.33 closed.
[westos@localhost Desktop]$ su - root
Password:
su - 和su命令的区别:
su - 切换用户,切换用户环境
su 切换用户
4.用户涉及到的系统配置文件
/etc/passwd ##用户身份信息文件
#用户名称:用户密码:用户id:用户主组id:用户说明:用户家目录:用户默认shell
/etc/group ##组身份信息文件
#组名称:组密码:组id:组的附加成员
/etc/skel/.* ##用户环境配置文件模板
/etc/shadow ##用户认证信息文件
/home/username ##用户家目录
/var/spool/mail/username ##用户邮箱文件
5.用户和用户组的建立及删除
监控用户建立的命令
watch -n 1 "tail /etc/passwd /etc/group;ls -l /home"
[root@localhost ~]# watch -n 1 "tail /etc/passwd /etc/group;ls -l /home"
监控界面
useradd username ##用户建立
-u id username ##uid 2**16=0-65535
##0 表示超级用户
##1-200 系统预留id
##201-999 系统用户
##1000-60000 用户级用户
##/etc/login.defs 记录用户建立的默认规则
-g id username ##主组id
-G id username ##附加组id
-d id username ##指定用户家目录
-M username ##建立用户时不建立家目录
-c word username ##指定用户说明
-s shell username ##指定用shell
[root@westoslinux ~]# userdel -r jwenh
[root@westoslinux ~]# useradd jwenh
[root@westoslinux ~]# useradd -g 978 jwenh1
[root@westoslinux ~]# useradd -G 978 jwenh2
[root@westoslinux ~]# useradd -G 975 jwenh2
useradd: user 'jwenh2' already exists
[root@westoslinux ~]# id -G jwenh2
1003 978
[root@westoslinux ~]# id -g jwenh2
1003
监控信息
userdel -r username ##用户删除 -日删除用户的系统配置文件
未删除用户jwenh的系统配置文件
删除用户jwenh2及其配置文件
groupadd groupname ##组建立
-g id groupname ##指定组名称
groupdel groupname ##组删除
groupdel groupadd
6.用户和用户组的信息管理
usermod
-l #更改用户名称
-u #更改用户id
-g #更改主组id
-G #更改用户附加组身份
-aG #添加用户附加组身份
-c #更改用户说明
-d #更改家目录指向
-md #更改家目录指向同时更改家目录名称
-s #更改默认shell
-L #冻结账号
-U #解锁
[root@westoslinux ~]# usermod -l haha jwenh1
[root@westoslinux ~]# usermod -u 1001 haha
[root@westoslinux ~]# usermod -u 2341 haha
[root@westoslinux ~]# usermod -g 2009 haha
[root@westoslinux ~]# usermod -G 2009 haha
[root@westoslinux ~]# usermod -aG 70,21,72 haha
监控界面
groupmod -g ##更改用户组id
7.用户认证信息管理
#/etc/shadow 文件内容说明
#用户名称:用户密码的加密字符:用户密码最后一次被修改时间:密码最短有效期:密码最长有效期:密码过期前警告期:
账号非活跃期:账号到期时间:用户自定义(未使用)
#1.用户名称
passwd -S lee ##查看密码状态
[root@westoslinux ~]# passwd -S haha
haha LK 2021-07-19 0 99999 7 -1 (Password locked.)
#2.用户加密字符
#更改密码)`
passwd lee ##只有root可以执行:echo 123 | passwd --stdin lee"
passwd ##普通用户改密码
Changing password for user lee.
Current password: #输入原始密码
New password: ##输入新密码(8位以上无序数字+无序字母组合)
Retype new password: ##重复输入
passwd: all authentication tokens updated successfully.
#冻结认证)
passwd -l lee ##冻结账号认证
passwd -u lee ##解锁账号认证
#密码删除)
passwd -d lee
#密码使用天数
*从1970-1-1算其到今天的时间
passwd -e lee ##修改默认使用时间为0
chage -d 0 lee ##账号必须改密码才能登陆系统
#密码最短有效期
passwd -n 1 lee ##lee在1天内不能改密码
chage -m 1 lee
#密码最长有效期
passwd -x 40 lee ##40天内lee用户必须更新密码否则会被冻结
chage -M 30 lee
#密码过期警告
passwd -w 2 lee ##账号过期前警告时间
chage -W 1 lee
#认证非活跃天数
passwd -i 2 lee ##账号认证最大时间超过后还能用多久
chage -I 1 lee
#账号认证到期时间
chage -E "2020-05-11" ##到2020-5-11这天账号会被冻结
#未启用功能