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

图1
- 用户密码与安全属性
- 文件路径:/etc/shadow如图2所示
- 字段格式(9 个字段)
用户名:加密密码:最后修改密码天数:最小修改间隔:密码有效期:过期前警告天数:宽限期:账号失效日:保留
加密算法标识(密码字段开头)
$6$:SHA-512(CentOS 7 默认)
!! 或 *:账户被锁定/无密码

图2
- 组信息
- 文件路径:/etc/group如图3所示
- 字段格式:
组名:组密码占位符(x):GID:组成员列表(逗号分隔)
附加组:用户可属于多个附加组(主组仅一个)

图3
- 组密码与管理
- 文件路径:/etc/gshadow如图4所示
- 字段格式:
组名:加密密码:组管理员:组成员
!:无有效密码

图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) |
- 实用示例
- 创建普通用户(自动生成 UID/GID):如图6所示
useradd -m -s /bin/bash user

图6
- 创建用户并指定属性:如图7所示
useradd -u 11501 -g developers -G webadmins,db -d /opt/user2 -c "Dev User" user2

图7
- 创建系统用户(禁止登录):如图8所示
useradd -r -s /sbin/nologin appuser

图8
- 设置密码:如图9所示
echo "password123" | passwd --stdin user1 # root 可操作 passwd user1 # 交互式设置

图9
密码过期与账户锁定管理
- chage 命令
- 查看/修改密码策略:如图10所示
chage -l user1 # 查看策略 chage -M 90 -W 7 user1 # 设置有效期90天,提前7天警告

图10
- 账户锁定与解锁如图11所示
passwd -l user1 # 锁定账户(/etc/shadow 密码前加 !!) passwd -u user1 # 解锁

图11
组管理命令
- 添加组:groupadd -g 2000 devgroup如图12所示

图12
- 修改组名:groupmod -n newgroup oldgroup如图13所示

图13
- 删除组(需先移除成员):groupdel devgroup如图14所示

图14
- 管理组成员:如图15所示
gpasswd -a user1 devgroup # 添加成员 gpasswd -d user1 devgroup # 移除成员

图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 用户、组及密码策略,提升系统安全性。
免责声明:本站所有文章内容,图片,视频等均是来源于用户投稿和互联网及文摘转载整编而成,不代表本站观点,不承担相关法律责任。其著作权各归其原作者或其出版社所有。如发现本站有涉嫌抄袭侵权/违法违规的内容,侵犯到您的权益,请在线联系站长,一经查实,本站将立刻删除。 本文来自网络,若有侵权,请联系删除,如若转载,请注明出处:https://haidsoft.com/185383.html