useradd:建用户
sudo useradd -m -s /bin/bash alice # 推荐写法
sudo passwd alice # 给设密码
常用参数
| 参数 | 含义 |
|---|---|
-m |
创建家目录 /home/alice |
-s SHELL |
指定 shell |
-G g1,g2 |
加入附加组 |
-g GROUP |
主组 |
-c "COMMENT" |
备注(GECOS) |
-u UID |
指定 UID |
-d DIR |
自定义家目录 |
-r |
系统账号(UID < 1000) |
adduser:交互式(Debian/Ubuntu 友好)
sudo adduser alice # 一路交互式提示,自动建家 + 设密 + 备注
useradd是底层;adduser是 Debian 系的友好封装。两者不能混用。
usermod:改用户
sudo usermod -aG sudo alice # ★ 加 sudo 组(-a 追加,-G 附加组)
sudo usermod -s /usr/bin/zsh alice # 改 shell
sudo usermod -L alice # 锁定
sudo usermod -U alice # 解锁
sudo usermod -l newname alice # 改用户名
sudo usermod -d /new/home -m alice # 改家目录并移动旧文件
⚠ 加组永远 -aG(追加),光 -G 会替换所有附加组。
userdel:删用户
sudo userdel alice # 删账号,保留家目录
sudo userdel -r alice # 同时删家目录 + 邮件
sudo userdel -f alice # 强制(即使在线)
删之前检查
who | grep alice # 是否在线
ps -u alice # 有没进程
sudo find / -user alice 2>/dev/null # 还有哪些文件属于 ta
实战:建服务账号
sudo useradd -r -m -d /opt/myapp -s /bin/bash myapp
# -r 系统账号 -d 自定义家 -s 给 shell
# 或彻底不能登录的:
sudo useradd -r -s /usr/sbin/nologin -d /var/lib/myapp myapp
坑
/etc/passwd不存哈希——密码在/etc/shadow(只 root 能看)userdel不删用户跑过的 cron / at job——要手动清- 数据库 / 应用里的用户跟 Linux 用户没关系——别混淆