Linux用户配置文件,用户管理相关文件,用户管理命令

18-用户配置文件

用户信息文件

/etc/passwd

存放用户信息

man 5 /etc/passwd 查看配置信息帮助

早起Linux密码是放在etc/passwd下的,但是每个用户都可以看自己的信息,所以密码暴露在所有用户下,不安全,之后的Linux将密码放在/etc/shadow

Linux用户配置文件,用户管理相关文件,用户管理命令

​ 每一行代表一个用户

  1. 第一字段:用户名称 root

  2. 第二字段:密码标志 x:0:0

    • x表示有密码
    • 如果没有x表示没有密码,只能本机登录
  3. 第三字段:UID

    • 0 超级用户

    • 1-499 系统用户(伪用户)

      ​ 给系统启动命令来调用的,不可以删

    • 500-65535 普通用户

  4. 第四字段:GID 用户初始组id

    • 初始组:用户一登录就立刻拥有这个组的相关权限,每个用户的初始组只有一个,一般就是和这个用户的用户名相同的组名作为这个用户的初始组。
    • 附加组:指用户可以加入多个其他的用户组,并拥有这些组的权限,附加组可以有多个。
  5. 第五字段:用户说明

  6. 第六字段:家目录

    • 普通用户:/home/用户名
    • 超级用户 /root/
  7. 第七字段:登录之后的shell

用户密码文件

/etc/shadow

存放用户密码,默认权限000

Linux用户配置文件,用户管理相关文件,用户管理命令

  1. 第一字段:用户名
  2. 第二字段:加密密码
    • 加密算法升级为SHA512散列加密算法
    • 如果密码位是“!!”或“*”代表没有密码,不能登录
    • 禁用用户可以在该用户密码字段加!!或者*
  3. 第三字段:密码最后一次修改时间
    • 使用1970年1月1日作为标准时间,每过一天时间戳加1
  4. 第四字段:两次密码的修改间隔时间(和第三字段对比)
  5. 第五字段:密码有效期(和第三字段对比)
  6. 第六字段:密码修改到期前的警告天数(和第五字段相比)
  7. 第七字段:密码过期之后的宽限天数
    • 0:密码过期后立即失效
    • 1:密码永远不会失效
  8. 第八字段:账号失效时间
    • 要用时间戳表示
  9. 第九字段:保留

组信息文件,组密码文件

/etc/group

/etc/gshadow

组信息文件
Linux用户配置文件,用户管理相关文件,用户管理命令

  1. 第一字段:组名
  2. 第二字段:组密码标志
  3. 第三字段:GID
  4. 组中附加用户

组密码文件

Linux用户配置文件,用户管理相关文件,用户管理命令

  1. 第一字段:组名

  2. 第二字段:组密码(不推荐使用)

    知道组密码的人可以替代root在组中进行删除或

  3. 第三字段:组管理员用户名

  4. 第四字段:组中附加用户

19- 用户管理相关文件

家目录

  • 普通用户: /home/用户名

    所有者和所属组都是此用户,权限700

    将普通用户UID改成0,该用户会变成超级用户,但是家目录不会改变

  • 超级用户: /root/

    所有者和所属组都是root用户,权限是550

用户的邮箱

/var/spool/mail/用户名/

用户模板目录

/etc/skel/

添加用户的时候会自动在家目录添加该目录下的内容

20- 用户管理命令

useradd

  • useradd [选项] 用户名
    • -u 手工指定UID
    • -d手工指定家目录
    • -c手工指定用户说明
    • -g手工指定用户初始组
    • -G手工指定用户附加组
    • -s手工指定用户的登录shell,默认是/bin/bash

用户默认值配置文件

/etc/default/useradd

  • GROUP=100 用户默认组
  • HOME=/home 用户家目录
  • INACTIVE=-1密码过期宽限天数
  • EXPIRE= 密码失效时间
  • SHELL=/bin/bash 默认shell
  • SKEL=/etc/skel 模板目录
  • CREATE_MAIL_SP=yes 是否建立邮箱

/etc/login.defs

  • PASS_MAX_DAYS 99999 密码有效期
  • PASS_MIN_DAYS 0 米面修改间隔
  • PASS_MIN_LEN 5 密码最少5位
  • PASS_WARN_AGE 7 密码到期警告
  • UID_MIN 500 最小和最大UID范围
  • GID_MAX 60000
  • ENCRYPT_METHOD SHA512 加密模式

passwd

  • passwd [选项] 用户名

    • -S 查询用户的密码状态(只有root可用)

    • -l 暂时锁定用户(只有root可用)

    • -u 解锁用户(只有root可用)

    • –stdin 可以通过管道符输出的数据作为用户的密码

      Linux用户配置文件,用户管理相关文件,用户管理命令

usermod change

  • usermod [选项] 用户名 修改用户信息

    • -u 修改UID
    • -c 修改用户说明信息
    • -G 修改用户附加组
    • -L 临时锁定用户
    • -U 解锁用户锁定
  • change [选项] 用户名 修改用户密码状态

    • -l 列出用户详细密码状态

    • -d 修改密码最后一次更改日期

      • charge -d 0 user1

        将密码修改时间改为了0,这样用户一登录就需要修改密码

    • -m 两次密码修改间隔

    • -M 密码有效期

    • -W 密码过期警告天数

    • -大写的i 密码过期后宽限的天数

    • -E 账号失效的时间

userdel su

  • userdel -r 用户名 删除用户的同时删除用户家目录

  • id 用户名 查看用户id

  • su [选项] 用户名

    • 选线只使用“-”代表连带用户的环境变量一起切换

    • -c 仅执行一次命令,而不切换用户身份

      su -root -c “useradd user1” 不切换成root,但是执行useradd命令

用户组管理

  • groupadd [选项] 组名

    • -g 指定GID
  • groupmod [选项] 组名

    • -g 改组ID
    • -n 改组名
      • groupmod -n 新组名 原来组名
  • groupdel 组名 删除组

    • 删除用户的初始组用户将不存在
    • 删除用户的附加组不影响用户
  • gpasswd 选项 用户 组名 把用户添加或从组中删除

    • -a 把用户加入组
    • -d 把用户从组中删除