一、安全上下文协议
-
Linux 安全上下文
运行的程运行中的程序:进程 (process)
-
以进程发起者的身份运行:
root: /bin/cat mage: /bin/cat
进程所能够访问资源的权限取决于进程的运行者的身份
-
用户user
令牌token,identity
Linux 用户:Username/UID
管理员:root, 0
普通用户:1-65535
系统用户:1-499, 1-999 (CentOS7) 对守护进程获取资源进行权限分配
登录用户:500+, 1000+(CentOS7)
交互式登录
-
组group
Linux 组:Groupname/GID
管理员组:root, 0
-
普通组:
系统组:1-499, 1-999(CENTOS7) )普通组:500+, 1000+ (CENTOS7)
-
组的类别
- 用户的主要组(primary group)
- 用户必须属于一个且只有一个主组
- 组名同用户名,且仅包含一个用户:私有组
- 用户的附加组(supplementary group)
- 一个用户可以属于零个或多个辅助组
- 用户的主要组(primary group)
-
用户和组的配置文件
Linux 用户和组的主要配置文件:
/etc/passwd :用户及其属性信息( 名称、UID 、主组ID 等) /etc/group :组及其属性信息 /etc/shadow :用户密码及其相关属性 /etc/gshadow组密码及其相关属性
-
/etc/passwd文件格式
login name :登录用名(wang) ) passwd :密码 (x) UID号 :用户身份编号 (1000) GID :登录默认所在组编号 (1000) GECOS :用户全名或注释 home directory录 :用户主目录(/home/wang) shell :用户默认使用shell(/bin/bash)
/etc/shadow文件格式
- 登录用名
- 用户密码: 一般用sha512 加密
- 从 从1970 年1 月1日起到密码最近一次被更改的时间
- 密码再过几天可以被变更(0表示随时可被变更)
- 密码再过几天必须被变更(99999表示永不过期)
- 密码过期前几天系统提醒用户(默认为一周)
- 密码过期几天后帐号会被锁定
从 从1970 年1 月1
- /etc/group文件格式
- 群组名称:就是群组名称
- 群组密码:通常不需要设定,密码是被记录在/etc/gshadow
- GID的 :就是群组的 ID
- 以当前组为附加组的用户列表(分隔符为逗号)
- gshdow文件格式
- 群组名称:就是群组名称
- 群组密码:
- 组管理员列表:组管理员的列表,更改组密码和成员
- 以当前组为附加组的用户列表:( 分隔符为逗号)
二、用户创建:useradd
useradd [options] LOGIN
-u UID : [UID_MIN, UID_MAX]定义在/etc/login.defs
-o 配合-u 选项,不检查UID 的唯一性
-g GID :指明用户所属基本组,可为组名,也可以GID
-c "COMMENT" :用户的注释信息
-d HOME_DIR: 以指定的路径( 不存在) 为家目录
-s SHELL : 指明用户的默认shell 程序可用列表在/etc/shells 文件中
-G GROUP1[,GROUP2,...] :为用户指明附加组,组须事先存在
-N 不创建私用组做主组,使用users 组做主组
-r: 创建系统用户 CentOS 6: ID<500 ,CentOS 7: ID<1000
显示或更改默认设置:
useradd -D
useradd –D -s SHELL
useradd –D –b BASE_DIR
useradd –D –g GROUP
三、用户属性修改:usermod
usermod [OPTION] login
-u UID: 新UID
-g GID: 新 新 主 组
-G GROUP1[,GROUP2,...[,GROUPN]]] :新附加组,原来的附加组将会被覆盖;若保留原有,则要同时使用-a 选项
-s SHELL :新的默认SHELL
-c 'COMMENT' :新的注释信息
-d HOME: 新家目录不会自动创建;若要创建新家目录并移动原家数据,同时使用-m 选项
-l login_name: 新的名字;
-L: lock 指定用户, 在/etc/shadow 加 密码栏的增加 !
-U: unlock 指定用户,将 将 /etc/shadow 的 密码栏的 ! 拿掉
-e YYYY-MM-DD: 指明用户账号过期日期
-f INACTIVE: 设定非活动期限
新建用户生成的相关文件和命令:
/etc/default/useradd
/etc/skel/*
/etc/login.defs
newusers passwd 格式文件 批量创建用户
chpasswd 批量修改用户口令
userdel [OPTION]... login
-r: 删除用户
四:设置密码
passwd: 修改自己的密码
-l: 锁定指定用户
-u: 解锁指定用户
-e: 强制用户下次登录修改密码
-n mindays: 指定最短使用期限
-x maxdays :最大使用期限
-w warndays :提前多少天开始警告
-i inactivedays :非活动期限
--stdin :从标准输入接收用户密码
echo " PASSWORD " | passwd --stdin USERNAME
修改用户密码策略:
chage [OPTION]... LOGIN
-d LAST_DAY
-E --expiredate EXPIRE_DATE
-I --inactive INACTIVE
-m --mindays MIN_DAYS
-M --maxdays MAX_DAYS
-W --warndays WARN_DAYS
-l 显示密码策略
chage -d 0 tom下一次登录强制重设密码
chage -m 0 –M 42 –W 14 –I 7 tom
chage -E 2016-09-10 tom
更改组的密码:
gpasswd [OPTION] GROUP
-a user: 将user 添加至指定组中
-d user: 从指定组中移除用户user
-A user1,user2,...: 设置有管理权限的用户列表
newgrp 命令:临时切换主组如果用户本不属于此组,则需要组密码
更改查看组成员:
groupmems [options] [action]
options: :
-g, --group groupname 组 更改为指定组 ( 只有root)
Actions:
-a, --add username 指定用户加入组
-d, --delete username 从组中删除用户
-p, --purge 从组中清除所有成员
-l, --list 显示组成员列表
groups [OPTION].[USERNAME]...查看用户所属组列表
修改文件的属主和属组:
修改文件的属主:chown
chown [OPTION]... [OWNER][:[GROUP]] FILE...
用法:命令中的冒号可用. 替换
-R: 递归
chown [OPTION]... --reference=RFILE FILE...
修改文件的属组:chgrp
chgrp [OPTION]... GROUP FILE...
chgrp [OPTION]... --reference=RFILE FILE...
-R 递归