1.Linux安全模型
资源分派:
- Authentication:认证,验证用户身份
- Authorizaation:授权,不同的用户设置不同的权限
- Accounting | Audition:审计
1.1用户
Linux中每个用户是通过User Id (UID)来唯一标识的
- 管理员:root,0
- 普通用户:1-60000自动分配
- 系统用户:1-499(CentOS 6以前),1-999(CentOS 7以后)
对守护进程获取资源进行权限分配
- 登录用户:500+ (CentOS 6以前),1000+ (CentOS 7以后)
给用户进行交互式登录使用
1.2用户组
Linux
中可以将一个或多个用户加入用户组中,用户组是通过
Group ID
(
GID
) 来唯一标识的。
- 管理员组:root, 0
- 普通组:
-
系统组: 1-499 ( CentOS 6 以前) , 1-999 ( CentOS7 以后) , 对守护进程获取资源进行权限分 配
-
普通组: 500+ ( CentOS 6 以前) , 1000+ ( CentOS7 以后) ,给用户使用
-
1.3用户和组的关系
-
用户的主要组 (primary group):用户必须属于一个且只有一个主组,默认创建用户时会自动创建 和用户名同名的组,做为用户的主要组,由于此组中只有一个用户,又称为私有组
-
用户的附加组 (supplementary group) : 一个用户可以属于零个或多个辅助组,附属组
1.4安全上下文
Linux
安全上下文
Context
:运行中的程序,即进程
(process)
,以进程发起者的身份运行,进程所能够
访问资源的权限取决于进程的运行者的身份
比如:分别以
root
和
wang
的身份运行
/bin/cat /etc/shadow
,得到的结果是不同的,资源能否能
被访问,是由运行者的身份决定,非程序本身
2.用户和组的配置文件
2.1用户和组的主要配置文件
- /etc/passwd:用户及其属性信息(名称、UID、主组ID等)
- /etc/shadow:用户密码及其相关属性
- /etc/group:组及其属性信息
- /etc/gshadow:组密码及其相关属性
2.2passwd文件格式
login name
:登录用名(
wang
)
passwd
:密码
(x)
UID
:用户身份编号
(1000)
GID
:登录默认所在组编号
(1000)
GECOS
:用户全名或注释
home directory
:用户主目录
(/home/wang)
shell
:用户默认使用
shell (/bin/bash)
2.3shadow文件格式
登录用名
用户密码
:
一般用
sha512
加密
从
1970
年
1
月
1
日起到密码最近一次被更改的时间
密码再过几天可以被变更(
0
表示随时可被变更)
密码再过几天必须被变更(
99999
表示永不过期)
密码过期前几天系统提醒用户(默认为一周)
密码过期几天后帐号会被锁定
从
1970
年
1
月
1
日算起,多少天后帐号失效
更改密码加密算法:
authconfig --passalgo=sha256 --update
密码的安全策略
- 足够长
- 使用数字、大写字母、小写字母及特殊字符中至少3种
- 使用随机密码
- 定期更换,不要使用最近曾经使用过的密码
2.4group文件格式
群组名称:就是群组名称
群组密码:通常不需要设定,密码是被记录在
/etc/gshadow
GID
:就是群组的
ID
以当前组为附加组的用户列表
(
分隔符为逗号
)
2.5gshdow文件格式
群组名称:就是群的名称
群组密码:
组管理员列表:组管理员的列表,更改组密码和成员
以当前组为附加组的用户列表:多个用户间用逗号分隔
2.6文件操
- vipw和vigr
- pwck和grpck
3. 用户和组管理命令
用户管理命令
- useradd
- usermod
- userdel
组帐号维护命令
- groupadd
- groupmod
- groupdel
3.1 用户创建
useradd 命令可以创建新的Linux用户
格式:
useradd [options] LOGIN
常见选项:
-u UID-o 配合 -u 选项,不检查 UID 的唯一性