FChao
发布于 2026-03-31 / 0 阅读
0
0

RHCSA/HCIA④:用户管理

1、用户的分类

用户的分类依据:用户的UID号

UID是用户的身份标识符,系统识别用户是根据UID进行识别,而不是根据用户名,每一个用户都有一个用户ID,一个用户对应一个UID

通过id 用户名可以查看一个用户的UID

  • 超级管理员用户(特权用户):uid为0的用户才是超级管理员

  • 系统的内置用户(服务用户):uid 1 - 200,201 - 999 的用户是系统的服务用户,用于运行服务,通常不可登录

  • 人为创建的用户(普通用户):uid 1000 - 60000 是普通用户

  • 新建的用户的UID是当前的最大UID+1,当用户被删除时,如果刚好这个用户就是UID最大的用户,那么下个用户就会继续沿用这个UID,这会造成权限和日志的混乱,应当避免这种情况。

2、用户相关文件

/etc/login.defs

定义了 Linux 系统在创建用户时,用户 ID (UID) 的分配范围和规则

  • UID_MIN 1000: 普通用户起始 UID

  • UID_MAX 60000: 普通用户最大 UID

  • SYS_UID_MIN 201: 系统用户起始 UID

  • SYS_UID_MAX 999: 系统用户最大 UID

    • 1-200 通常预留给系统底层极其重要的预设账户

  • SUB UID指的是系统会给每个普通用户分配一大段(默认 65536 个)外部真实的 UID(从 100000 开始),然后容器里的 UID 会“映射”到这些高位 UID 上

/etc/passwd

用户的信息文件,保存UID和用户名之间一一对应的映射关系,每一行都是代表一个用户

root:x:0:0:root:/root:/bin/bash

  • root:用户名

  • x:密码占位符,占位符指的是,在该用户登录的时候是否需要验证密码,如果x不存在则不需要验证密码

  • 0:第一个0 表示的是该用户的UID,也就是user id

  • 0:第二个0 表示的是该用户的GID,也就是用户所属的组(指的是私有组)的group id

  • root:指的是用户的描述信息,通常在欢迎屏幕上显示

  • /root:指的是用户的家目录,也就是用户登录操作系统后所在的位置

  • /bin/bash:指的是用户登录操作系统后执行的第一个程序,通常是shell程序,因此也将该栏位称为登录shell,如果该项是/bin/bash 表示该用户可以登录;如果该项是/sbin/nologin 表示该用户不能登录

  • 用户不能登录不代表不能使用;该用户无法登录操作系统,可以作为服务的运行用户,例如vsftpd的服务,可以交给ftp的用户来运行,如果将来该服务发生缺陷导致被入侵攻击,攻击者也只会拿到ftp这个用户的权限,而不会得到root用户的权限;通过服务用户来运行服务,可以极大的保证服务器的安全

/etc/shadow

用户的密码文件

alice:$6$KS6Or9l/vox7QjUs$Yvv6TiAvvfzw7Ew1YIDAn39y0UYQsE0DVByGHWQRTkDWWCjTiw.XU1B.lukSLX2kQVnusqElfe30/hgAErQBV/:19918:0:99999:7:2:19998:

详解:

  • alice 用户名

  • $6$KS6 用户的密码(密文)

    • $6$ 表示密码使用sha512 算法进行加密(主流发行版本,默认使用该方式)

    • openssl passwd -6 密码 对密码进行sha512加密

    • $5$ 表示密码使用sha256算法进行加密

    • $1$ 使用md5加密

    • $y$ 使用sm3进行加密

    • !/* 表示用户从来没有设置过密码

    • 如果密码的前面有!则表示该用户已经被锁定

    • 在Linux中所谓的锁定用户就是将用户的加密密码字符串前加上了感叹号,加密算法无法识别以 ! 开头的哈希值,因此用户不能登录成功;可以使用root 切换到这个用户

  • 19918: 用户上一次修改密码的时间,表示的是从1970-01-01经过19918天是那一年那一月那一日?

    • date +%F -d '1970-01-01 19918days' 计算从 1970-01-01 开始往后数 19918 天的日期

  • 0:密码的最短有效期 0表示没有限制 ,最少密码可以使用多少天

  • 99999: 密码的最长有效期,99999表示没有限制也就是一直有效 最长密码可以使用多少天

  • 7:表示密码到期前的提醒天数(警告天数)

  • 2:密码到期后的锁定天数

  • 19998: 密码的失效时间 指的也是从1970-01-01 经过19998天 的日期

3、用户组

4、用户管理命令

useradd 创建用户

创建用户 useradd

-u 设置UID

-g 设置GID

-G 设置附加组

-c 指定描述信息

-d 指定用户的家目录

-s 指定登录的shell

-o 允许再创建一个uid相同,用户名不同的用户

userdel 删除用户

usermod 修改用户

chage 修改密码属性

修改的确实是 /etc/shadow 文件


评论