047 adduser命令
命令说明
adduser 是 useradd 的交互式前端脚本(Debian/Ubuntu 的默认建用户方式),逐步提示设置密码与用户信息,自动创建家目录,对新手更友好;RHEL 系中它只是 useradd 的别名。
语法
adduser 用户名 adduser 选项 用户名(RHEL 系同 useradd)
常用参数
| 参数 | 说明 |
|---|---|
| (交互) | Debian 版:运行后依次提示密码、全名、电话、房间号,可全回车跳过 |
| --home 目录 | 指定家目录路径 |
| --shell Shell | 指定登录 shell |
| --ingroup 组 | 指定主组 |
| --uid UID | 指定 UID |
| --disabled-password | 创建但不设密码(配合 passwd 或 ssh key 使用) |
| --force-badpass | 跳过弱密码检查 |
| -g / -G / -s / -m | RHEL 系 adduser 即 useradd,参数完全相同 |
使用示例
$ adduser alice
Debian/Ubuntu 交互式创建 alice 全流程
$ adduser --shell /bin/bash --home /home/dev1 dev1
非交互指定 shell 与家目录
$ adduser bob docker
Debian 特色:把已有用户 bob 加入 docker 组
$ adduser --disabled-password --gecos "" jenkins
CI 场景:无密码静默建账号
$ usermod -aG sudo deploy
Ubuntu 给新用户授予 sudo 权限
$ passwd carol
创建后单独修改/设置密码
$ getent passwd alice
确认用户已写入 passwd
$ ls -ld /home/alice
确认家目录已自动创建且属主正确
实用技巧
- 发行版差异大:Debian/Ubuntu 的 adduser 是独立交互脚本;CentOS/RHEL 的 adduser 是 useradd 的符号链接,行为完全一致,面试常考。
- Debian 版 adduser 支持 adduser 用户 组 直接加组,等价于 usermod -aG,非常便捷。
- 新用户默认继承 /etc/skel 下的 .bashrc、.bash_profile 等模板文件,自定义全局默认环境改这里。
- Ubuntu 桌面用户常在 sudo 组、CentOS 在 wheel 组才能 sudo,建管理员账号时记得 -G 加上。
- adduser 与 useradd 都写 /etc/passwd、/etc/shadow、/etc/group;手工改这些文件风险高,务必用命令或 vipw。