用户和组管理

资源分派

  • Authentication: 认证
  • Authorization: 授权
  • Accountiong(Audition): 审计

Linux用户: Username/UID

  • 管理员: root,0
  • 普通用户: 1-65535
    • 系统用户: 1-499(centos7 1-999)
      • 守护进程获取资源进行权限分配
    • 登录用户: 500+(centos7 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: 保留字段
  • /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 USERNAME

    Note:
    /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、定期更换、不要使用最经曾经使用的密码

你可能感兴趣的:(用户和组管理)