一,Linux的安全模型
1.安全3A
Authentication(认证),Authorization(授权),Accounting(审计)(AAA)是用于对计算机资源的访问、策略执行、审计使用情况和提供服务账单所需信息等功能进行智能控制的基本组件的一个术语。大多数人认为这三个组合的过程对有效的网络管理和系统安全管理非常重要。
第一步,认证策略提供了辨识某个用户的方法,一般是在认证成功之前要求用户输入一个合法的用户名和有效的密码。认证的过程有赖于每个用户拥有获取访问权的唯一标准,AAA服务会拿该标准(密码)和数据库中的密码对比,如果匹配,则允许其访问计算机;否则,认证失败拒绝访问。
第二步,认证完成后,用户必须得到授权才能做特定的事情和处理相关任务。在登录某个系统后,用户可能会尝试运行相关的命令。授权的进程会决定用户是否有运行该命令的权利。简单说,授权就是实施策略的过程:即是确定允许用户使用哪种类型或质量的活动、资源或服务的过程。
通常,授权发生在认证的上下文环境中。一旦你认证了某个用户也就意味着该用户也被授权了不同种类的访问和活动。
在AAA框架中最后的一项是审计,意思是需要监控和测量在访问的过程中的资源使用情况。身份认证、授权和审计服务通常由专用的AAA服务提供,AAA服务是执行这些功能的程序。
2.用户登录linux的背后发生了什么
二,Linux系统中用户和组及相关的文件
1.linux系统中的用户类型
- 一般linux用户分为管理员和普通用户,root用户为超级管理员
1,超级管理员默认名称为:root;其UID为: 0
2,普通用户的UID:1-60000 系统自动分配;分为:系统用户和登录用户
系统用户:1-499(CentOS6), 1-999 (CentOS7)系统用户负责对守护进程获取资源进行权限分配
登录用户:500+, 1000+(CentOS7)
使用交互式登录
2.linux中的用户组
管理员组的组ID(GID)也为0,叫root组(即使你把其他用户加入root组,他任然是普通用户)
普通组分为系统组和普通组:
系统组:1-499, 1-999(CENTOS7)
普通组:500+, 1000+(CENTOS7)
Linux组的类别
用户的主要组(primary group)
用户必须属于一个且只有一个主组,组名同用户名,且仅包含一个用户,私有组
用户的附加组(supplementary group)
一个用户可以属于零个或多个辅助组
3.Linux用户和组的主要配置文件
- 用户和组的配置文件都位于/etc文件夹下
/etc/passwd:保存用户及其属性信息(名称、UID、主组ID等)
/etc/group:保存组及其属性信息
/etc/shadow:保存用户密码及其相关属性
/etc/gshadow:保存组密码及其相关属性
- passwd文件格式
passwd文件格式:
1:2:3:4:5:6:7 # 每个用户使用一行特定格式的文本记录
1:login name:登录用名(steve)
2:passwd:密码 (x)
3:UID:用户身份编号 (1000)
4:GID:登录默认所在组编号 (1000)
5:GECOS:用户全名或注释
6:home directory:用户主目录 (/home/steve)
7:shell:用户默认使用shell (/bin/bash)
- shadow文件格式
shadow文件格式
daemon:*:18027:0:99999:7::: # 每个用户使用一行特定格式的文本记录
1:2:3:4:5:6:7:8:9
1:登录用名
2:用户密码:一般用sha512加密
3:从1970年1月1日起到密码最近一次被更改的时间
4:密码再过几天可以被变更(0表示随时可被变更)
5:密码再过几天必须被变更(99999表示永不过期)
6:密码过期前几天系统提醒用户(默认为一周)
7:密码过期几天后帐号会被锁定
8:从1970年1月1日算起,多少天后帐号失效
9:预留未用
- group文件格式
group文件格式
daemon:x:2:
1:2:3:4
1:群组名称:就是群组名称
2:群组密码:通常不需要设定,密码是被记录在 /etc/gshadow
3:GID:就是群组的 ID
4:以当前组为附加组的用户列表(分隔符为逗号)
- gshdow文件格式
gshdow文件格式
daemon:::
1:2:3:4
1:群组名称:就是群的名称
2:群组密码:
3:组管理员列表:组管理员的列表,更改组密码和成员
4:以当前组为附加组的用户列表:多个用户间用逗号分隔
三,Linux系统中用户和组的管理命令
1.相关文件操作
- vipw & vigr
vipw, vigr - edit the password, group, shadow-password or shadow-group file
-g, --group
Edit group database.
-p, --passwd
Ed