centos用户与组管理需严格遵循规范:创建用户必须用useradd -m -s /bin/bash并配passwd设强密码;加组须用-ag避免清空原组;删除用户必加-r彻底清理;sudo授权应优先用visudo语法校验,禁用危险命令需前置!。

在CentOS系统中为新员工开通账号、回收离职人员权限、分配开发环境访问权,必须准确执行用户与组的创建、删除、归属调整和sudo授权操作,漏掉-r参数会残留家目录,不加-aG会清空原有组成员关系,直接编辑/etc/sudoers可能引发语法错误导致全员sudo失效。
创建新用户并初始化环境
第一步:运行useradd命令创建账户,强制指定shell和家目录结构。
sudo useradd -m -s /bin/bash -c "张工-前端开发" zhangg
这一步必须加-m,否则/home/zhangg不会自动创建;-s /bin/bash确保能正常登录,省略可能导致用户无法获得交互式shell。
第二步:立即设置强密码,避免账户处于无密码可登录状态。
sudo passwd zhangg
系统将提示输入两次密码,密码需包含大小写字母、数字及至少一个特殊字符(如!@#)。
第三步:验证家目录权限是否正确生成。
ls -ld /home/zhangg
输出应显示所有者为zhangg、组为zhangg,权限为700。若显示为755或所有者是root,说明-m未生效或存在SELinux上下文异常。
将用户加入已有用户组(追加模式)
方法一:添加到wheel组获取sudo权限(推荐)
sudo usermod -aG wheel zhangg
【-aG是关键,漏掉-a会导致zhangg被踢出除wheel外所有原有组】
方法二:同时加入多个业务组(用逗号分隔,不加空格)
sudo usermod -aG devs,frontend,gitlab zhangg
方法三:验证组归属是否生效
id zhangg
输出中应同时出现wheel、devs、frontend等组名;若只显示primary组,说明-aG未执行成功或用户已登录需重新登录才生效。
CentOS Linux 7.9.2009是传统CentOS Linux 7的最后主要版本,也是很多企业历史服务器中仍可能遇到的系统版本。它以稳定、兼容RHEL 7生态、文档丰富和软件支持广泛著称,曾长期用于Web服务、数据库、虚拟化节点和企业内部业务系统。不过CentOS Linux 7已于2024年6月30日停止维护,现在继续使用会面临安全补丁缺失风险。该版本更适合旧业务迁移、历史环境恢复或离
删除用户并清理残留数据
确认用户当前未登录:
w -h | grep zhangg
无输出表示可安全删除。
执行彻底删除(含家目录、邮件池、crontab条目):
sudo userdel -r zhangg
【-r不可省略,否则/home/zhangg和/var/spool/mail/zhangg将长期残留,占用磁盘且存在安全风险】
检查是否残留:
grep zhangg /etc/passwd /etc/group /etc/shadow
三条命令均应返回空结果;若/etc/passwd仍有记录,说明userdel失败或权限不足。
配置精细化sudo权限(非wheel组场景)
使用visudo安全编辑sudoers文件:
sudo visudo
该命令自带语法检查,直接vi /etc/sudoers可能因格式错误锁死sudo功能。
在文件末尾插入授权行(以允许zhangg仅重启nginx):
zhangg ALL=(root) /bin/systemctl restart nginx
保存退出后立即测试:
sudo -l -U zhangg
输出应显示匹配的命令路径;若报错“no matches found”,说明语法有误或用户不在sudoers中。
禁止该用户执行危险命令(如rm -rf /):
在同一条规则前加!号:
zhangg ALL=(root) !/bin/rm, !/bin/sh, !/usr/bin/find










