CentOS 用户管理实操指南
概念澄清
在 CentOS 中,extract 通常指解压归档或提取软件包内容,与系统用户管理并无直接关系。用户管理主要涉及创建、修改、删除账户,以及组成员与权限控制等操作。若你的场景是“解压文件时的权限与归属”,可参考下方“与解压相关的权限设置”。
常用用户与组管理命令
- 创建用户:使用 useradd -m -s /bin/bash <用户名> 创建并生成家目录、指定默认 Shell;设置密码:passwd <用户名>。
- 修改用户:改名 usermod -l <新名> <旧名>;改主目录 usermod -d <新家目录> -m <用户名>;改登录 Shell usermod -s <新Shell> <用户名>。
- 删除用户:userdel <用户名>;连同家目录与邮件池一起删除:userdel -r <用户名>。
- 组管理:新建组 groupadd <组名>;删除组 groupdel <组名>;将用户加入附加组 usermod -aG <组名> <用户名>;从组移除 gpasswd -d <用户名> <组名>。
- 账户状态:锁定 usermod -L <用户名>;解锁 usermod -U <用户名>;查看所属组 groups <用户名> 或 id <用户名>。
- 查询与审计:查看所有用户 cat /etc/passwd;查看所有组 cat /etc/group。
sudo 与权限提升
- 授予管理员权限:在 CentOS 7 及更高版本,将用户加入 wheel 组即可使用 sudo:usermod -aG wheel <用户名>。
- 安全编辑 sudoers:使用 visudo 添加规则,例如为用户授予全部命令:<用户名> ALL=(ALL) ALL;或仅允许重启某服务:<用户名> ALL=(ALL) /usr/bin/systemctl restart httpd。
- 精细授权示例:仅允许某用户无需密码执行解压(示例为 tar):在 /etc/sudoers 中加入 **<用户名> ALL=(ALL) NOPASSWD: /bin/tar -xvf ***(请谨慎评估安全影响)。
与解压相关的权限设置
- 归档内文件属主:解压前用 chown -R <用户>:<组> <解压目标目录> 预设所有者,确保解压后文件归属正确。
- 目录权限:对共享目录常用 chmod 750 <目录>(所有者 rwx,组 r-x,其他无权限);对可执行脚本或程序加执行位 chmod u+x <文件>。
- 细粒度授权:对特定用户/组设置 ACL,例如 setfacl -m u:<用户名>:rwx <目录> 或 setfacl -m g:<组名>:r-x <目录>;查看 ACL 用 getfacl <路径>。
- 安全建议:避免使用 root 直接解压;必要时仅对受控目录与受控命令授予 sudo 权限,并优先采用最小权限原则。
安全加固要点
- 口令与策略:强制使用强口令并定期更换;用 chage 设置最小/最大天数、警告与过期,例如 chage -m 2 -M 30 -W 5 -I 0 -E 2026-12-31 <用户名>。
- 登录安全:建议禁止 root 远程登录(编辑 /etc/ssh/sshd_config 设置 PermitRootLogin no),仅使用普通用户 + sudo;必要时仅允许 wheel 组成员 su 到 root(在 /etc/pam.d/su 启用 pam_wheel.so 并在 /etc/login.defs 设置 SU_WHEEL_ONLY yes)。
- 系统与审计:保持系统与安全组件更新(如 yum/dnf update);启用并正确配置 SELinux(查看状态 sestatus;临时切换 setenforce 0/1;生产环境不建议长期关闭);定期检查日志与关键文件属性。