CentOS Stream 8 用户管理实操指南
用户与用户组基础操作
- 创建用户:使用 useradd -m -d /home/用户名 -s /bin/bash 用户名 创建用户并自动建立家目录与指定登录 Shell。
- 设置密码:使用 passwd 用户名 为用户设置或更改密码。
- 修改用户信息:使用 usermod 执行改名、主目录、登录 Shell、主组与附加组等变更。
- 删除用户:使用 userdel 用户名 删除账户;加 -r 同时删除其主目录与邮件假脱机。
- 创建与删除组:使用 groupadd 组名 创建;使用 groupdel 组名 删除。
- 将用户加入附加组:使用 usermod -aG 组名 用户名(-a 表示追加,避免覆盖原有附加组)。
- 多用户支持:CentOS Stream 8 原生支持多用户,可并行创建多个用户与组并分配不同权限。
权限与 sudo 配置
- 文件与目录权限:使用 chmod 755 文件/目录 设置常用权限;使用 chown 属主:属组 文件/目录 调整属主与属组;用 ls -l 查看权限与属主信息。
- 细粒度访问控制:启用 ACL 以对特定用户/组授予精确权限(如 setfacl/getfacl)。
- 提升权限执行管理命令:将用户加入 wheel 组(多数发行版默认配置)或在 /etc/sudoers 中为用户/组授权;编辑 sudoers 务必使用 visudo 以避免语法错误导致系统无法使用 sudo。
- 示例(为用户授予全部命令的 sudo 权限):在 visudo 中添加一行
- 用户方式:用户名 ALL=(ALL) ALL
- 组方式:%wheel ALL=(ALL) ALL
- 安全建议:遵循最小权限原则,仅授予必要命令的 sudo 权限。
口令策略与账户安全
- 口令复杂度:要求包含大小写字母、数字与特殊字符,长度≥10位。
- 检查空口令账户:使用命令 awk -F: ‘($2==“”){print $1}’ /etc/shadow 查找并处理空口令账户。
- 加固口令文件:对关键账户文件设置不可更改属性(谨慎使用,变更前务必评估运维影响),例如:
- chattr +i /etc/passwd /etc/shadow /etc/group /etc/gshadow
- 锁定/解锁账户:对不再使用或存在风险的账户执行 passwd -l 用户名(锁定)或 passwd -u 用户名(解锁)。
- 风险提示:对系统账户文件加锁可能影响系统账户维护与自动化流程,操作前请做好评估与备份。
SELinux 与系统安全上下文
- 查看 SELinux 状态:使用 sestatus。
- 临时切换模式:使用 setenforce 0(Permissive,仅记录不阻断,重启后恢复);不建议长期关闭。
- 永久调整(不推荐):编辑 /etc/selinux/config 将 SELINUX=enforcing 改为 SELINUX=disabled,需重启生效。
- 文件/目录安全上下文:当移动或拷贝数据后,使用 restorecon -Rv 路径 恢复默认 SELinux 上下文;必要时用 semanage fcontext 与 restorecon 定制策略(如为特定目录设置 httpd 读写上下文)。
常用命令速查表
| 功能 |
命令示例 |
| 创建用户并建家目录 |
useradd -m -d /home/alice -s /bin/bash alice |
| 设置密码 |
passwd alice |
| 修改登录 Shell |
usermod -s /bin/bash alice |
| 改名 |
usermod -l alice_new alice |
| 修改主目录 |
usermod -d /data/alice -m alice |
| 修改主组 |
usermod -g developers alice |
| 追加附加组 |
usermod -aG wheel,devops alice |
| 创建组 |
groupadd devops |
| 删除组 |
groupdel devops |
| 删除用户(含家目录) |
userdel -r alice |
| 查看权限与属主 |
ls -l /path |
| 设置权限 |
chmod 755 /path |
| 修改属主与属组 |
chown alice:devops /path |
| 配置 sudo(visudo 内) |
alice ALL=(ALL) ALL 或 %wheel ALL=(ALL) ALL |
| 检查空口令账户 |
awk -F: ‘($2==“”){print $1}’ /etc/shadow |
| 查看 SELinux 状态 |
sestatus |
| 临时宽松模式 |
setenforce 0 |
| 恢复默认上下文 |
restorecon -Rv /var/www |
以上命令覆盖了 CentOS Stream 8 中用户、组、权限、sudo 与 SELinux 的常用管理场景,可直接复制执行并根据实际环境调整参数。