在Ubuntu 20.04系统中,通过终端执行useradd或adduser命令即可创建用户,使用userdel命令并配合-r参数可彻底删除用户及其主目录,这是管理多用户环境最基础且高效的操作方式。
Ubuntu作为服务器领域的常客,其用户权限管理直接关系到系统的安全与稳定,很多刚接触Linux的管理员在面对命令行时往往感到无从下手,其实只要掌握核心命令,整个过程就像搭积木一样简单,我们将深入探讨如何在Ubuntu 20.04上优雅地添加和删除用户,涵盖从基础创建到权限分配,再到彻底清理的全过程。
Ubuntu 20.04添加新用户的核心步骤
在Linux系统中,创建用户不仅仅是建立一个名字,更是分配资源、设定权限和初始化环境的过程,业内专家指出,使用交互式命令通常比非交互式命令更适合新手,因为它能引导你完成所有必要的配置。
使用adduser命令创建标准用户
adduser是Ubuntu推荐的交互式用户创建工具,它会引导你输入密码、全名等信息,并自动创建用户主目录。
-
打开终端,输入以下命令并回车:
sudo adduser 用户名
创建名为devops的用户:sudo adduser devops -
系统会提示你设置并确认密码,请务必输入强密码,避免使用简单数字组合。
-
系统会询问用户的全名、房间号等可选信息,你可以直接按回车跳过,或者填写相关信息,这些信息主要用于标识用户身份,不影响系统功能。
-
确认信息无误后输入Y,系统便会创建用户并初始化主目录/home/用户名。
使用useradd命令创建高级用户
如果你需要更精细的控制,或者编写自动化脚本,useradd是更好的选择,它不会交互式提问,需要手动指定参数。
-
创建用户并指定主目录:
sudo useradd -m -s /bin/bash 用户名
-m参数确保创建/home/用户名目录。
-s参数指定默认Shell为bash,否则可能默认为sh,导致体验不佳。 -
设置用户密码:

sudo passwd 用户名
useradd不会自动设置密码,必须手动执行此步骤,否则该账户无法登录。 -
验证用户是否创建成功:
id 用户名
如果返回uid、gid及组信息,说明创建成功。
关键区别对比
| 特性 | adduser | useradd |
|---|---|---|
| 交互性 | 交互式,引导式输入 | 非交互式,需手动指定参数 |
| 主目录创建 | 自动创建 | 需加-m参数 |
| 默认Shell | 通常设为bash | 需手动指定-s参数 |
| 适用场景 | 手动管理,新手友好 | 脚本自动化,批量创建 |
用户权限管理与sudo配置
创建用户只是第一步,赋予其适当的权限才是关键,在Ubuntu中,普通用户默认没有管理员权限,需要通过sudo组来提升权限。
将用户加入sudo组
要让新创建的用户拥有执行sudo命令的权限,需要将其加入sudo组。
-
执行以下命令:
sudo usermod -aG sudo 用户名
-a参数表示追加(append),-G参数指定附加组,这一步至关重要,否则用户将无法安装软件或修改系统配置。 -
验证组成员身份:
groups 用户名
输出结果中应包含sudo组名。
配置sudoers文件的高级权限
对于需要特定权限而非完全sudo权限的场景,可以编辑sudoers文件。
-
使用visudo命令编辑配置:
sudo visudo
visudo是编辑sudoers文件的安全方式,它会检查语法错误,防止因配置错误导致无法使用sudo。
-
在文件末尾添加规则:
用户名 ALL=(ALL:ALL) NOPASSWD: /usr/bin/apt
这允许该用户无需密码即可使用apt命令,适合自动化部署场景。
行业共识认为,最小权限原则是Linux安全的核心,切勿随意赋予用户不必要的sudo权限。
彻底删除用户及其数据
当用户离职或账户不再需要时,及时删除用户是维护系统安全的重要环节,删除用户不仅意味着移除账户,更涉及清理相关文件和数据。
使用userdel命令删除用户
userdel是标准的用户删除命令,但默认情况下它只删除用户账户,保留主目录。
-
仅删除用户账户:
sudo userdel 用户名
/home/用户名目录依然存在,占用磁盘空间。 -
删除用户及其主目录:
sudo userdel -r 用户名
-r参数表示递归删除,会连同用户的主目录、邮件池等文件一并删除,这是大多数场景下的推荐做法。
处理残留文件和权限问题
即使使用了-r参数,仍可能有其他位置的文件未被清理。
-
查找并删除残留文件:
sudo find / -user 用户名 -exec rm -rf {} ;
此命令会搜索整个文件系统,查找属于该用户的所有文件并删除,操作前请务必确认,以免误删其他用户数据。 -
检查并清理计划任务:
sudo crontab -u 用户名 -l
如果用户有cron任务,需手动清除或确认已随用户删除而失效。
删除前的数据备份建议
在删除用户前,建议先备份其重要数据。
-
打包用户主目录:
sudo tar -czvf backup_username.tar.gz /home/用户名
将备份文件存储在其他位置,以防误删后需要恢复。 -
验证备份完整性:
tar -tzvf backup_username.tar.gz
确认备份文件包含所有预期内容。
Ubuntu 20.04添加和删除用户常见问题解答
如何修改Ubuntu已有用户的用户名?
Linux系统不支持直接在线修改用户名,因为文件名和权限都绑定在原用户名上,正确做法是创建新用户,迁移数据,然后删除旧用户。

-
创建新用户:
sudo adduser new_username -
将旧用户加入sudo组并赋予权限。
-
复制数据:
sudo cp -a /home/old_username/. /home/new_username/ -
修改新用户的家目录所有权:
sudo chown -R new_username:new_username /home/new_username -
测试新用户可以正常登录后,再删除旧用户:
sudo userdel -r old_username
删除用户时提示“用户正在使用”,如何处理?
如果用户当前有登录会话或运行进程,直接删除会失败,需要先终止相关进程。
-
查找并杀死用户进程:
sudo pkill -u 用户名
这会发送SIGTERM信号,优雅地终止用户的所有进程。 -
如果仍有残留,强制杀死:
sudo pkill -9 -u 用户名
-9参数强制终止,需谨慎使用,可能导致数据丢失。 -
再次尝试删除用户:
sudo userdel -r 用户名
Ubuntu 20.04删除用户后如何清理磁盘空间?
使用userdel -r通常能清理主目录,但日志、邮件等系统文件可能仍占用空间。
-
检查/var/mail目录:
sudo rm /var/mail/用户名
如果用户有邮件,此文件会存在。 -
清理/var/log中的用户相关日志:
sudo find /var/log -name "用户名" -exec rm -f {} ;
注意:系统日志通常按日期轮转,手动清理需谨慎,建议先查看日志内容确认无误。 -
使用du命令检查剩余空间:
sudo du -sh /home
确认/home目录下是否还有残留的大文件。
通过上述步骤,你可以安全、彻底地管理Ubuntu 20.04上的用户账户,掌握这些命令,不仅能提升系统管理效率,更能确保系统的安全性与整洁性,定期审计用户列表,及时清理无用账户,是每一位系统管理员的基本职责。
首发原创文章,作者:世雄 - 原生数据库架构专家,如若转载,请注明出处:https://idctop.com/article/398955.html
