用户和组管理
- 认证:token,identify(username/password)
- 资源分配(派)
- Authentication:认证
- Authorization:授权
- Accounting(Audition):审计
- Linux用户:
- 管理员:root
- 普通用户:1-65535
- 系统用户:1-499(CentOS7.0开始为1-999),守护进程获取资源进行权限分配
- 登陆用户:交互式登陆,500+
- Linux组:Groupname/GID
- 管理员组:root,0
- 普通组:
- 系统组:1-499(CentOS开始为1-999)
- 普通组:500+,(1000+)
- Linux安全上下文
- 程序(运行中的):进程
- 以进程发起者的身份运行
- root:cat
- tom:cat
- 进程能够访问的送有资源的权限取决于进程的发起者的身份
- 以进程发起者的身份运行
- 程序(运行中的):进程
- Linux组的类别:
- 用户的基本组(主组),亦称私有组:组名同用户名,且仅包含一个用户
- 用户的附件组(额外组):除了基本组之外,用户所在的其他组,都是附加组。用户是可以从附加组中被删除的。一个用户可以属于多个附加组。但是一个用户只能有一个基本组。
- Linux用户和组相关的配置文件
- /etc/passwd:用户及其属性信息(名称、UID、基本组ID等等)
- /etc/group:组及其属性信息
- /etc/shadow:用户密码及其相关属性
- /etc/shadow:组密码及其相关属性
- /etc/passwd
- name:用户名
- password:密码
- UID:所有者ID
- GID:基本组ID
- GECOS:用户的详细信息
- directory:主目录
- shell:默认shell
- /etc/group
- group-name:组名
- password:组密码
- GID:基本组ID
- user_list:以当前组为附加组的用户列表(分隔符为逗号)
- /etc/shadow
- 用户名:加密了的密码:
- bin:*:16659:0:99999:7:::
- bin:用户名
- 16659:最近一次更改密码的日期
- 0:密码的最小使用期限
- 99999:密码禁用期
- 7:密码告警时间段
- ::最大密码使用期限
- 加密机制:明文–>密文
- 加密:明文–>密文
- 解密:密文–>明文
- 单向加密:提取数据指纹
- md5:message digest,128bits
- sha1:secure hash algorithm,160bits
- sha 224:224bits
- sha 256:256bits
- sha 384:384bits
- sha 512:512bits
- 密码的复杂性策略:
- 1、使用数字、大写字母、小写字母及特殊字符中至少三种
- 2、足够长
- 3、使用随机密码
- 4、定期更换:不要使用最近曾经是使用过的密码
- 用户和组相关的管理命令:
- 用户创建:useradd
- useradd [options] 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:创建系统用户:CentOS6:ID<500 CentOS7:ID<1000
- useradd [options] LOGIN
- 组创建:groupadd
- groupadd [options] group
- -g:GID:指明GID号:[GID_MIN,GID_MAX]
- -r:创建系统组
- CentOS 6:ID < 500
- CentOS 7:ID < 1000
- groupadd [options] group
- 查看用户相关的ID信息:id
- id [OPTION]… [USER]
- -u:查看UID
- -g:查看GID
- -G:查看组(Groups)
- -n:查看用户名(NAME)
- id [OPTION]… [USER]
- 切换用户或以其他用户身份执行命令:su
- su [options…] [-] [user [args…]]
- 切换用户的方式
- su UserName:非登陆式切换,即不会读取目标用户的配置文件
- su - UserName:登陆式切换,会读取目标用户的配置文件,完全切换
- Note:root su至其他用户无须密码,非root用户切换时需要密码
- 换个身份执行命令:su [-] UserName -c ‘COMMAND’
- 选项
- -l:“su -l UserName”相当于“su - UserName”
- 用户属性修改:usermod
- usermod [options] LOGIN
- 选项:
- -u:新UID
- -g:新基本组
- -G GROUP1[,GROUP2,…[,GROUPN]]]:新附加组,原来的附加组将会被覆盖;若保留原有,则要同时使用-a选项,表示append
- -s SHELL:新的默认SHELL
- -c “COMMENT”:新的注释信息
- -d HOME:新的家目录(原有家目录不会同时移动至新的家目录;若要移动,则同时是用-m选项)
- -L:lock指定用户
- -U:unlock指定用户
- 给用户添加密码:passwd
- passwd UserName:修改指定用户的密码,仅root用户权限
- passwd:修改自己的密码
- 常用选项
- -l:锁定指定用户
- -u:解锁指定用户
- -n mindays:指定最短使用期限
- -x maxdays:指定最大使用期限
- -w warndays:提前多少天开始警告
- -i inactivedays:非活动期限
- –stdin:从标准输入接受用户密码
- echo “PASSWORD”|passwd –stdin USERNAME
- -e YYYY-MM-DD:指明用户账号过期日期
- -f INACTIVE:设定非活动期限
- 删除用户:userdel
- userdel [options] LOGIN
- -r:删除用户家目录
- 组属性修改:groupmod
- groupmod [OPTION]… group
- 常用选项:
- -n group_name:新组名
- -g GID:新的GID
- 组删除
- groupdel GROUP
- 组密码:gpasswd
- gpasswd [option] group
- 常用选项:
- -a user:将user添加至知道那个组中
- -d user:删除用户user以当前组为组名的附加组
- -A user1,user2,…:设置有管理权限的用户列表
- newgrp命令:临时切换基本组
- 如果用户本不属于此组,则需要密码
- 修改用户属性:chage
- chage [options] LOGIN
- 常用选项:
- -d LAST_DAY
- -E –expiredate EXPIRE_DATE
- -I,–inactive INACTIVE
- -m –mindays MIN_DAYS
- -M –maxdays MAX_DAYS
- -w –warndays WARN_DAYS
- 其他命令:chfn,chsh,finger
- 用户创建:useradd