CentOS 7 中用户、密码、组信息及相关配置的完整解析,涵盖配置文件、属性管理、密码策略及 useradd 命令的用法和示例:
用户与组信息存储位置
用户基本信息文件路径:cat /etc/passwd如图1所示字段格式(冒号分隔)用户名:密码占位符(x):UID:GID:描述信息:家目录:登录ShellUID 规则:
0:root 用户
1-999:系统用户
1000-60000:普通用户(默认从 1000 开始)

图1
加密算法标识(密码字段开头)
$6$:SHA-512(CentOS 7 默认)
!! 或 *:账户被锁定/无密码
图2
附加组:用户可属于多个附加组(主组仅一个)
图3
!:无有效密码
图4
用户属性与密码策略配置
密码策略文件文件路径:/etc/login.defs关键参数PASS_MAX_DAYS 99999 # 密码最长有效期(默认永不过期) PASS_MIN_DAYS 0 # 修改密码的最小间隔天数(0 表示随时可改) PASS_MIN_LEN 8 # 密码最小长度 PASS_WARN_AGE 7 # 密码过期前警告天数 UID_MIN 1000 # 普通用户 UID 起始值 GID_MIN 1000 # 普通组 GID 起始值 CREATE_HOME yes # 是否自动创建家目录默认用户配置模板文件路径:/etc/default/useradd默认值示例如图5所示图5
useradd 命令用法与示例
常用选项选项
作用
-m
创建家目录(默认不创建)
-d
指定家目录路径(如 /data/user1)
-s
指定登录 Shell(如 /sbin/nologin)
-g
指定主组(组名或 GID)
-G
指定附加组(逗号分隔)
-u
自定义 UID
-e
设置账号过期日期(格式 YYYY-MM-DD)
-c
添加用户描述(如 "Admin User")
-r
创建系统用户(UID<1000)
图6
图7
图8
图9
密码过期与账户锁定管理
chage 命令查看/修改密码策略:如图10所示chage -l user1 # 查看策略 chage -M 90 -W 7 user1 # 设置有效期90天,提前7天警告图10
图11
组管理命令
添加组:groupadd -g 2000 devgroup如图12所示图12
图13
图14
图15
安全增强建议
强密码策略编辑 /etc/pam.d/system-auth,添加:
password requisite pam_pwquality.so retry=3 minlen=12 ucredit=-1 lcredit=-1 dcredit=-1 ocredit=-1禁用 root SSH 登录修改 /etc/ssh/sshd_config:
PermitRootLogin no定期审计账户如图16所示awk -F: ($3 >=1000) {print $1} /etc/passwd # 列出普通用户 grep !! /etc/shadow # 检查未激活账户图16
附:配置文件字段速查表
文件
关键字段
/etc/passwd
用户名:密码占位符(x):UID:GID:描述:家目录:Shell
/etc/shadow
用户名:加密密码:最后修改天数:最小间隔:最大有效期:警告天数:宽限期:失效日:保留
/etc/group
组名:组密码占位符(x):GID:组成员列表
/etc/gshadow
组名:加密密码:组管理员:组成员
通过上述配置和命令,可高效管理 CentOS 7 用户、组及密码策略,提升系统安全性。