用户和组管理
2019-01-31 本文已影响0人
极地冰凌_25bf
资源分派
- Authentication: 认证
- Authorization: 授权
- Accountiong(Audition): 审计
Linux用户: Username/UID
- 管理员: root,0
- 普通用户: 1-65535
- 系统用户: 1-499(centos7 1-999)
- 守护进程获取资源进行权限分配
- 登录用户: 500+(centos7 999+)
- 交互式登录
- 系统用户: 1-499(centos7 1-999)
Linux组:Groupname/GUI
- 管理员组: root,0
- 普通组:
- 系统组: 1-499(centos7 1-999)
- 普通组: 500+(centos7 999+)
Linux安全上下文:
- 运行中的程序: 进程(process)
- 以进程发起者的身份运行:
- root: cat
- tom: cat
- 进程所能够访问的所有资源的权限取决于进程的发起者的身份;
- 以进程发起者的身份运行:
Linux组的类别:
- 用户的基本组(主组)
- 组名同用户名,且仅包含一个用户:私有组
- 用户的附加组(额外组)
Linux用户和组相关的配置文件
- /etc/passwd: 用户及其属性信息(名称、UID、用户组ID等等)
- account:password:UID:GID:GECOS:directory:shell
- 用户名:密码:用户id:用户的基本组id:用户的基本信息(逗号分割):主目录:默认shell
- /etc/group: 组及其属性信息
- group_name:passwd:GID:user_list
- 组名:组密码占位符:组id:以当前组为附加组的用户列表(分割符为逗号)
- /etc/shadow: 用户密码及其相关属性
- 一共有9个字段
- login name: 登录名
- encrypted password: 加密后的密码
- date of last password change: 最近一次更改密码的时间
- minimum password age: 密码最小使用期限
- maximum password age: 密码的最大使用期限
- password warning period: 密码的警告时间段
- password inactivity period: 密码禁用期
- account expiration date: 账号过气日期
- reserved field: 保留字段
- 一共有9个字段
- /etc/gshadow: 组密码及其相关属性
用户和组相关的命令
用户创建: useradd
synopsis
useradd [options] LOGINNAME
options
- -u,--uid [UID-MIN,UID-MAX]: 指明用户ID ([UID-MIN,UID-MAX]定义在/etc/login.defs
- -g,--gid GID: 指名用户所属基本组,可为组名或者组id
- -c --comment"COMMENT": 用户的注释信息
- -d,--home PATH/TO/HOME_DIR: 指定用户家目录(若不指明则会在/home/目录下创建与username同名的目录)
系统在创建家目录时会自动复制/etc/skel/文件夹下的文件到家目录
- -s PATH/TO/SHELL: 指明用户的默认SHELL, 可用shell在/etc/shells
- -G,--groups gid1,gid2....: 指明用户的附加组多个附加用逗号隔开,组id事先必须存在
- -D: 更改默认值(默认值保存在/etc/useradd/中)
- -r: 创建系统用户
用户组创建: groupadd
synopsis
groupadd [options] group_name
options
- -g GID: 指明GID([GID_MIN,GID_MAX])
- -r: 创建系统组
查看用户相关的ID信息: id
synopsis
id [options] [username]
options
- -u: UID
- -g: GID
- -G: Groups
- -n: 显示名称
用户切换:su
synopsis
su [OPTION]... - [USER [ARG]...]: 登录式切换 会读取目标用户的配置文件
su [OPTION]... [USER [ARG]...]:非登录式切换 不会读取目标用户的配置文件
options
- -c "COMMAND": 以其他用户的身份执行命令
su - root -c "cat /etc/shadow" - -l: 登录式切换
用户属性修改: usermod
synopsis
usermod [options] LOGIN
options
- -u,--uid [UID-MIN,UID-MAX]: 指明用户ID ([UID-MIN,UID-MAX]定义在/etc/login.defs
- -g,--gid GID: 指名用户所属基本组,可为组名或者组id
- -c --comment"COMMENT": 用户的注释信息
- -G,--groups gid1,gid2....: 新的附加组(注意! 会覆盖原有的附加组, 若想追加则需要-a 选项)
- -s PATH/TO/SHELL: 指明用户的默认SHELL, 可用shell在/etc/shells
- -d,--home PATH/TO/HOME: 新的家目录 原有家目录中的文件不会同时移动至新的家目录,若要移动使用-m选项
- -l: 新登录名
- -L login: 锁定指定用户
- -U login: 解锁指定用户
- -e: 指明账号禁用日期
- -f: 指明非活动期限
给用户添加或修改密码: passwd
synopsis
passwd [-k] [-l] [-u [-f]] [-d] [-e] [-n mindays] [-x maxdays] [-w warndays] [-i inactivedays] [-S] [--stdin] [username]
passwd UserName: 修改指定用户的密码(仅系统管理员可用)
passwd: 修改自己的密码
options
- -l: 锁定指定用户
- -u: 解锁指定用户
- -n: 最短使用期限
- -x: 最大使用期限
- -w: 提前多少天开始警告用户修改
- -i: 非活动期限
- -e: 设定密码的过期期限
- --stdin: 从表传输入接收用户密码
echo "passwd" | passwd --stdin USERNAMENote:
/dev/null, bit buckets
/dev/zero
删除用户: userdel
synopsis
userdel [options] login
options
- -r: 删除用户家目录
组修改groupmod
synopsis
groupmod [options] GROUP
options
- -n group_name: 新的组名
- -g GID: 新的GID
组删除groupdel
synopsis
groupdel groupname
组密码添加或修改gpasswd
synopsis
gpasswd [option] group
gpasswd group: 修改组密码
options
- -a user: 将user添加至指定组中
- -d user: 删除用户user的指定附加组
- -A user: 设置有管理权限的用户
基本组临时切换:newgrp
synopsis
newgrp groupname
Note: 如果groupname 是自己的附加组则不需要密码,否则需要
更改用户密码过期信息: chage
synopsis
chage [options] [LOGIN]
options
- -d, --lastday LAST_DAY
- -E, --expiredate EXPIRE_DATE
- -I, --inactive INACTIVE
- -m, --mindays MIN_DAYS
- -M, --maxdays MAX_DAYS
- -W, --warndays WARN_DAYS
其他命令
- chfg: 修改用户详细信息
- chsh: 修改用户默认shell
- finger: 显示用户详细信息
加密工具
- md5: message digest(128bits)
- sha1: secure hash algorith,(160bits)
- sha224: 224bits
- sha384: 384bits
- sha512: 512bbits
密码复杂性策略:
- 1、使用数字、大写字母、小写字母及特殊字符至少三种
- 2、足够长
- 3、使用随机密码
- 4、定期更换、不要使用最经曾经使用的密码