用户和组及其配置文件
1、与安全相关3A
- 认证:Authentication
- 授权:Authorization
- 审计:Accouting|Audition
2、Linux user
- Linux使用用户和组来实现资源访问控制和权限控制
- 用户登录
①用户在某个终端输入用户名和密码
②系统查询数据验证用户名和密码
③返回验证结果
④验证成功之后,系统会给用户一个(令牌)token
Linux用户的token为UID
- Linux user/UID
- 令牌token,identity;登录时获取的
- 管理员:root/UID=0
- 普通用户:1-60000自动分配
centos6: 系统用户/UID:1-499;
普通用户/UID:500+ ;交互式登录
centos7: 系统用户/UID:1-999;
普通用户/UID:1000+;交互式登录
- 用户相关的配置文件
/etc/passwd:用户及其属性信息
/etc/shadow:用户密码及其相关信息
/etc/passwd:配置文件格式
[root@centos7 tmp]# man 5 passwd 查看配置文件帮助手册
name:password:UID:GID:GECOS:directory:shell
name:用户名
password:用户密码 x表示占位
UID:用户UID
GID:用户主组GID
GECOS:描述信息
directory:用户家目录
shell:shell类型
/etc/shadow:配置文件格式
[root@centos7 tmp]# man 5 shadow 查看配置文件帮助手册
[root@centos7 ~]# getent shadow zheng
zheng:$6$xxxx$xxx.::0:99999:7:::
每行九个字段
第一个字段:用户名
第二个字段:用户密码;
①!表示锁定,即不可以拿此账号直接登录
②$6表示加密算法为sha512;$1表示加密算法为md5;
第三个字段:上一次修改密码的日期,但是是距离1970年1月1日的天数
第四个字段:密码最短使用天数
第五个字段:密码最长使用天数;99999表示永久有效
第六个字段:密码过期前几天开始警告
第七个字段:密码过期使用天数
第八个字段:账户使用时长
第九个字段:预留
更改第三至第八个字段的命令:chage
查看或修改配置文件相关命令
useradd
usermod
passwd
chage
getent
vipw 带有语法检查功能
vipw -s 改shadow
pwck 检查格式是否正确
grpck 检查格式是否正确
可以直接修改配置文件,但是一般不建议直接修改配置文件,
因为配置文件都具有一定的格式
3、Linux group
- Linux中创建用户默认会创建一个与其同名的组
- Linux group/GID
- 管理员组root组/GID=0
- 普通组
centos6: 系统组/GID:1-499;
普通组/GID:500+ ;
centos7: 系统组/GID:1-999;
普通组/GID:1000+;
①私有组(主组):有且只有一个
②附加组:不限
- 组相关的配置文件
/etc/group:组及其相关信息
/etc/gshadow:组密码及其相关信息
/etc/group:组及其相关信息
[root@centos7 tmp]# man 5 group获取组配置文件帮助手册
group_name:password:GID:user_list
group_name:组名
password:组密码
GID:组GID
user_list:附加组成员
组密码默认是没有的,由管理员管理组成员;
若设置组密码,普通用户若知道组密码,可以直接加入该组。
/etc/gshadow:组密码及其相关信息
[root@centos7 ~]# man 5 gshadow获取组密码配置文件帮助手册
[root@centos7 ~]# getent gshadow mage
mage:!::
第一个字段:组名
第二个字段:组密码
第三个字段:管理员列表;组管理员可以管理组成员
第四个字段:附加组的用户列表,要求与/etc/group最后一个字段一样
相关命令
vigr
grpck
pwck
...
4、安全上下文
1、进程以某用户身份运行;进程是发起此进程的用户的代理,其用户身份进程发起者;
2、权限匹配模型:
(1) 进程的属主,是否与被访问的文件属主相同;
(2) 进程的属主所属于的组当中,是否有一个与被访问的文件的属组相同;
(3) 以other的权限进行访问;