补充说明
在 Debian/Ubuntu 上,adduser 是对底层 useradd、groupadd、passwd 的 Perl 封装,会交互式询问密码、全名、房间号等信息,并自动创建家目录、设置默认 shell、复制 /etc/skel 骨架文件。日常建账号更推荐它。
RHEL/CentOS 上通常没有这套封装,adduser 只是指向 useradd 的符号链接,行为与选项都不同;跨发行版脚本应直接使用 useradd。批量、无交互场景可用 --disabled-password 或 --gecos "" 跳过提问。
语法
adduser [选项] 用户名
选项
--system:创建系统用户(UID 较小、无密码、无家目录)--home DIR:指定家目录--shell SHELL:指定登录 shell--uid ID:指定 UID--ingroup GROUP:加入已存在的组,而不是新建同名组--disabled-password:不设置密码(仍可用 SSH 密钥登录)--gecos TEXT:非交互设置 GECOS 信息--add-extra-groups:加入系统配置的附加组
实例
# 交互式创建普通用户
sudo adduser alice
# 创建不能密码登录、仅用于服务的账号
sudo adduser --system --no-create-home --shell /usr/sbin/nologin appuser
# 非交互创建用户并指定家目录
sudo adduser --disabled-password --gecos "" --home /srv/deploy deploy
# 把已有用户加入 sudo 组
sudo adduser alice sudo
# 删除用户及其家目录(Debian 工具)
sudo deluser --remove-home alice
Debian 的附加组配置位于 /etc/adduser.conf,例如 DSHELL、DHOME 与 EXTRA_GROUPS。