一、用户及用户组存在的意义
系统资源是有限的,如何合理分配系统资源?
在这个问题解决时必须要有资源配合
1.身份 account
2.授权 author
3.认证 auth
3A机制,3A机制组成系统中最底层的安全架构
1)用户组存在意义
用户组是一个逻辑容器
对用户进行归类和统一授权
2)用户及用户组在系统中存在的方式
电脑对数字敏感 id
人类对字符串敏感 名称
id <-------> 名称 必须要记录到文件当中用户才能存在
用户就是/etc/passwd文件中的一行字符
用户组存在的方式就是/etc/group 文件中的一行字符
3)用户切换
用户查看
*whomai ##查看当前用户
*id ##查看用户id信息
-u ##查看用户的用户id
-g ##查看用户主组id
-G ##查看用户所有的组的id
-n ##显示名称
用户id范围: 0-65535
0: ##Linux超级用户ID
1-999: ##Liunx系统自用ID
1000-65535: ##用户级ID
##以上ID设定规则都被记录在/etc/login.defs
用户切换
su - username #切换用户环境
从超级用户切换到普通用户不需要密码
而从普通用户切换到超级用户或者普通用户都需要密码
##注意:在做用户切换时当使用完毕用户身份及时退出
#不要在一个shell中反复执行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 -n 4 /etc/passwd /etc/group;echo =======;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 dir username ##指定用户家目录
-M username ##建立用户时不建立家目录
-c word username ##指定用户说明
-s shell username ##指定用shell
userdel -r username ##用户删除 -r 删除用户的系统配置文件
groupadd groupname ##组建立
-g id groupname ##指定组名称
groupdel groupname ##组删除
要注意删除用户的时候要记得加 -r,不然只会单纯删掉用户,而用户所带的配置文件等等都不会删除
6)用户认证信息管理
/etc/shadow 文件内容说明
用户名称:用户密码的加密字符:用户密码最后一次被修改时间:密码最短有效期:密码最长有效期:密码过期前警告期:
账号非活跃期:账号到期时间:用户自定义(未使用)
#1.用户名称
passwd -S tom ##查看密码状态
#2.用户加密字符
#更改密码)
passwd tom ##只有root可以执行 “echo 123 | passwd --stdin lee”
echo westos | passwad --stdin tabamin && chage -d 0 tabamion##用户的密码为 westos,确保以上用户在首次登陆时强制修改密码
chage -M 30 tabamin ##设定其密码的最长有效期为 30 天