在CentOS 8系统中,添加用户主要使用useradd或adduser命令,删除用户则使用userdel命令,配合passwd设置密码即可完成基础账户管理。
Linux系统的核心优势在于其多用户、多任务的特性,而这一切的基础就是用户账户管理,对于运维人员或服务器管理员来说,掌握用户增删改查是日常工作的基本功,CentOS 8作为企业级Linux发行版,虽然生命周期已接近尾声,但其命令体系与RHEL系列一脉相承,理解其底层逻辑对掌握其他Linux变体大有裨益,本文将通过具体场景和实操命令,带你彻底理清用户管理的脉络。
CentOS 8添加用户的标准流程与权限配置
在Linux中,创建用户不仅仅是生成一个名字,更是分配资源、设定权限和建立安全边界的过程,业内专家指出,合理的用户创建策略能显著降低系统被入侵的风险。
基础命令解析:useradd与adduser的区别
虽然useradd是底层工具,但很多新手更倾向于使用adduser,在CentOS 8中,adduser通常是一个指向useradd的Perl脚本,它提供了更友好的交互界面。
-
使用useradd命令:这是最原始的方式,适合脚本自动化。
创建普通用户
执行`sudo useradd -m username`,这里的`-m`参数至关重要,它会自动创建用户的家目录(/home/username),如果不加此参数,用户登录后可能无法看到任何文件,因为家目录不存在。
指定用户ID和组
在复杂环境中,可能需要指定特定的UID或GID,`sudo useradd -u 1001 -g developers -m devuser`,这表示创建一个UID为1001,归属于developers组的用户devuser。
使用adduser命令:适合交互式操作。
执行sudo adduser username后,系统会提示你输入密码、确认密码,并询问全名、房间号等可选信息,这种方式更符合人类直觉,减少了参数记忆的压力。
密码设置与安全加固

创建用户后,账户默认是被锁定的,因为没有设置密码,必须通过passwd命令来激活账户。
- 执行
sudo passwd username。 - 输入两次密码,建议密码包含大小写字母、数字和特殊字符,长度至少8位。
- 若需强制用户下次登录修改密码,可加上
-e参数,即sudo passwd -e username。
赋予sudo权限的关键步骤
普通用户无法执行系统级命令,如重启服务或安装软件,要赋予管理员权限,需将用户加入wheel组。
- 执行
sudo usermod -aG wheel username。 - 这里的
-a代表追加(append),-G代表附加组,务必使用-a,否则用户会脱离原有组,仅保留wheel组权限,导致其他服务访问异常。 - 验证权限:切换到该用户
su - username,然后执行sudo whoami,若返回root,则权限配置成功。
CentOS 8删除用户的彻底清理与数据备份
删除用户看似简单,实则暗藏风险,很多初学者直接使用userdel username,却忽略了残留文件带来的安全隐患或磁盘空间浪费,行业共识认为,删除用户时应遵循“最小残留”原则。
基本删除命令:userdel的用法
- 仅删除用户账户:执行
sudo userdel username,这只删除了/etc/passwd、/etc/shadow和/etc/group中的记录,但用户的家目录和邮件池(/var/spool/mail)依然保留。 - 删除用户及家目录:执行
sudo userdel -r username,这是推荐的做法,-r参数会递归删除用户的家目录和邮件池,确保系统整洁。
场景化操作:离职员工账户处理
当员工离职时,直接删除账户可能导致其遗留项目文件丢失或权限混乱,建议采取以下步骤:
- 锁定账户:先执行
sudo usermod -L username,禁止该用户登录。 - 数据归档:将家目录打包备份,
sudo tar -czvf backup_username.tar.gz /home/username。 - 转移文件:若有共享项目,将文件权限移交给接替者。
- 彻底删除:确认备份无误后,执行
sudo userdel -r username。

检查残留进程与文件
删除用户后,有时用户进程仍在运行。
- 使用
ps -u username检查是否有残留进程。 - 若有,使用
kill -9 <PID>强制终止。 - 使用
find / -user username查找系统中可能遗漏的属于该用户的文件,特别是/tmp目录下的临时文件。
常见问题排查与权限对比分析
在实际操作中,用户经常会遇到权限不足或命令执行失败的问题,通过对比不同命令的效果,可以更清晰地理解系统行为。
用户权限层级对比
| 操作类型 | 所需权限 | 常用命令示例 | 风险等级 |
|---|---|---|---|
| 创建用户 | root 或 sudo | useradd, adduser | 低 |
| 修改密码 | root 或 本人 | passwd | 中 |
| 赋予sudo | root 或 sudo | usermod -aG wheel | 高 |
| 删除用户 | root 或 sudo | userdel | 高 |
| 查看用户信息 | 任意用户 |
id, whoami | 无 |
常见问题Q&A
为什么useradd创建的用户无法登录?
通常是因为未设置密码或未创建家目录,执行`sudo passwd username`设置密码,并确保使用`-m`参数创建家目录,检查`/etc/shells`文件,确保用户使用的Shell(如/bin/bash)是合法登录Shell。
删除用户后,如何恢复误删的数据?
如果使用了`userdel -r`,家目录会被直接删除,恢复难度极大,操作前务必备份,若未使用`-r`,则家目录仍在,只需重新创建同名用户并修改UID/GID匹配即可恢复访问。
如何批量创建用户?
对于大规模部署,可使用脚本循环执行`useradd`,或结合`newusers`命令,`newusers`允许从文件中读取用户信息批量创建,格式为`username:password:UID:GID:GECOS:home:shell`,适合自动化运维场景。
最佳实践与安全建议
除了掌握命令本身,建立规范的操作流程同样重要。
遵循最小权限原则
不要随意将用户加入wheel组,仅在必要时赋予sudo权限,并定期审计/etc/sudoers文件,据工信部相关安全指南建议,定期清理无用账户是系统安全的基本防线。
使用SSH密钥认证
对于远程管理的用户,建议禁用密码登录,改用SSH密钥认证,在/etc/ssh/sshd_config中设置PasswordAuthentication no,并在用户家目录下配置~/.ssh/authorized_keys,这能有效防止暴力破解攻击。
定期审计用户列表
使用cat /etc/passwd或getent passwd查看当前所有用户,重点关注UID为0的非root用户,这通常意味着存在特权账户异常,检查/etc/shadow中过期时间设置,确保长期不活跃账户被及时禁用。
通过上述步骤,你可以在CentOS 8上安全、高效地管理用户账户,无论是添加新用户还是清理离职员工,遵循规范流程都能避免潜在风险,系统管理没有捷径,严谨的操作习惯是保障服务器稳定运行的关键。
首发原创文章,作者:世雄 - 原生数据库架构专家,如若转载,请注明出处:https://idctop.com/article/401534.html

