创建用户需用adduser(推荐)或useradd -m -s /bin/bash并设密码;赋sudo权限须按系统加sudo组(ubuntu)或wheel组(rhel),且需重新登录生效;删除用户用userdel -r才彻底清理家目录和邮件。

Linux 创建用户、删除用户和赋予 sudo 权限,本质是三组独立但常连用的操作,不是单个命令能搞定的流程;直接用 useradd 或 adduser 创建后不设密码、不加组、不配权限,用户根本登不进去,更别说执行管理命令。
如何创建一个能登录的标准用户
Linux 有两个常用命令: useradd(底层、无交互)和 adduser(封装脚本、交互式)。生产环境推荐用 adduser,它会自动创建家目录、拷贝 skeleton 文件、提示设密码,避免遗漏关键步骤。
-
useradd默认不建家目录(除非加-m),不设密码(账户被锁),也不创建 shell 配置文件 -
adduser会调用useradd,但默认启用-m、运行passwd、设置/bin/bash,更贴近实际需求 - 执行
sudo adduser alice后按提示输入密码、全名等即可;若要用useradd,至少得补上:sudo useradd -m -s /bin/bash alice,再手动sudo passwd alice
为什么新用户无法用 sudo 执行命令
不是加了 sudo 组就自动生效——用户必须属于 sudo 组(Ubuntu/Debian 系)或 wheel 组(RHEL/CentOS/Fedora 系),且 /etc/sudoers 中对应组要有明确授权。常见错误是只运行了 usermod -aG sudo alice,却忘了检查系统实际用的是哪个组名。
- 查当前系统策略:
sudo grep -E '^\%sudo|^%wheel' /etc/sudoers,看哪一行没被注释 - Ubuntu 默认认
%sudo,CentOS 默认认%wheel;混用会导致权限不生效 - 添加用户到正确组:
sudo usermod -aG sudo alice(Ubuntu)或sudo usermod -aG wheel alice(RHEL) - 改完组后,用户需重新登录(或新开 shell)才能继承组权限,
su - alice可验证
删除用户时家目录和邮件队列怎么处理
userdel 默认只删用户记录,不删家目录(/home/username)和邮件文件(/var/mail/username),残留文件可能引发磁盘占用或权限混乱。是否清理,取决于你是否要彻底回收资源。
- 仅删用户(保留家目录):
sudo userdel alice - 删用户 + 家目录 + 邮件文件:
sudo userdel -r alice -
-r是关键开关,漏掉就会留下/home/alice,后续同名重建用户时可能因权限问题无法访问 - 注意:如果用户正在登录或有进程运行,
userdel会失败,先用ps -u alice和sudo pkill -u alice清理
真正容易被忽略的是组权限的继承时机和系统差异——同一句 usermod -aG sudo 在 Ubuntu 上管用,在 CentOS 上就是摆设;而 -r 参数不加,删用户等于“半删”,家目录变成无人认领的孤儿文件夹。











