用户和组管理
资源分派:
Authentication:认证
Authorization:授权
Accouting:审计
Audition
token, identity(username/password)
Linux用户:
管理员:root, 0
普通用户:1-65535
系统用户:1-499, 1-999
守护进程获取资源进行权限分配:
登录用户:500+, 1000+
交互式登录:
Linux组:Groupname/GID
管理员组:root, 0
普通组:
系统组:1-499, 1-999
普通组:500+, 1000+
Linux安全上下文:
运行中的程序:进程(process)
以进程发起者的身份运行:
root: cat
tom: cat
进程所能够访问的所有资源的权限取决于进程的发起者的身份:
Linux组的类别:
用户的基本组(主组):
组名同用户名,且仅包含一个用户:私有组
用户的附加组(额外组):
Linux用户和组相关的配置文件:
/etc/passwd:用户及其属性信息(名称、UID、基本组ID等等):
/etc/group:组及其属性信息:
/etc/shadow:用户密码及其相关属性:
/etc/gshadow:组密码及其相关属性:
/etc/passwd:
name:password:UID:GID:GECOS:directory:shell
用户名:密码:UID:GID:GECOS:主目录:默认shell
/etc/group:
group_name:password:GID:user_list
组名:组密码:GID:以当前组为附加组的用户列表(分隔符为逗号)
/etc/shadow:
用户名:加密了的密码:最近一次更改密码的日期:密码的最小使用期限:密码的最大使用期限:密码的警告时间段:密码禁用期:账户过期日期:保留字段
加密机制:
加密:明文--> 密文
解密:密文--> 明文
单向加密:提取数据指纹
md5: message digest, 128bits
sha1: secure hash algorithm, 160bits
sha224: 224bits
sha256: 265bits
sha384: 384bits
sha512: 512bits
雪崩效应:初始的条件的微小改变,将会引起结果的巨大改变:
定长输出:
密码的复杂性策略:
1、使用数字、大写字母、小写字母及特殊字符中至少3种:
2、足够长:
3、使用随机密码:
4、定期更新:不要使用最近曾经使用过的密码:
用户和组相关的管理命令:
用户创建:useradd
useradd [option] LOGIN
-u UID: [UID_MIN, UID_MAX], 定义在/etc/login.defs
-g GID: 指明用户所属基本组,可为组名,也可为GID:
-c "COMMENT": 用户的注释信息:
-d /PATH/TO/HOME_DIR: 以指定的路径为家目录:
-s SHELL: 指明用户的默认shell程序,可用列表在/etc/shells文件中:
-G GROUP1[,GROUP2,...[,GROUPN]]: 为用户指明附加组: 组必须事先存在:
-r: 创建系统用户
CentOS 6: ID<500
CentOS 7: ID<1000
默认值设定: /etc/default/useradd文件中
useradd -D
-s SHELL
练习:创建用户gentoo,附加组为distro和linux,默认shell为/bin/csh,注释信息为"Gentoo Distribution";
groupadd distro
groupadd linux
useradd -G distro,linux -s /bin/csh -c "Gentoo Distribution" gentoo