Ubuntu 下添加用户的正确命令是 useradd 或 adduser,两者功能类似但用法有差异:adduser 是交互式命令(更友好,推荐新手),useradd 是原生命令(需手动配置更多参数)。以下是两种方法的完整实操步骤。
一、方法1:交互式添加用户(adduser,推荐)
adduser 是 Ubuntu 预置的脚本命令,会引导你设置密码、用户信息,自动创建家目录和登录 Shell,适合大多数场景。
1. 基本用法(创建普通用户)
# 需 sudo 权限,username 替换为你要创建的用户名(如 testuser)
sudo adduser username
2. 执行后交互步骤
按提示依次输入信息,全程可按回车跳过非必填项:
-
输入密码:系统提示
Enter new UNIX password,输入用户密码(无明文显示),再次输入确认。 -
用户信息(可选):
-
Full Name:全名,直接回车跳过。 -
Room Number/Work Phone/Home Phone/Other:均为非必填,回车跳过。
-
-
确认信息:提示
Is the information correct? [Y/n],输入Y回车,用户创建完成。
3. 关键默认配置(自动完成,无需手动设置)
- 家目录:
/home/username - 登录 Shell:
/bin/bash(Ubuntu 默认) - 用户组:自动创建同名用户组
username,用户默认加入该组
二、方法2:原生命令添加用户(useradd,灵活配置)
useradd 是 Linux 原生命令,默认不会创建家目录和 Shell,需手动指定参数,适合批量创建或自定义配置场景。
1. 常用参数说明
| 参数 | 功能 |
|---|---|
-m |
自动创建用户家目录(必须加,否则无家目录) |
-s |
指定登录 Shell(如 /bin/bash,默认是 /bin/sh) |
-g |
指定用户主组(需提前存在) |
-G |
指定用户附加组(如 sudo 组,赋予管理员权限) |
2. 创建带家目录和 Shell 的普通用户
# 创建用户 testuser,自动建家目录,指定 bash 为登录 Shell
sudo useradd -m -s /bin/bash testuser
3. 设置用户密码
useradd 不会自动设置密码,需单独执行:
sudo passwd testuser
按提示输入并确认密码即可。
4. 给用户添加管理员权限(加入 sudo 组)
新建用户默认无 sudo 权限,如需让用户执行管理员命令,需将其加入 sudo 组:
# 方法1:usermod 命令添加附加组
sudo usermod -aG sudo username
# 方法2:adduser 命令(更简洁)
sudo adduser username sudo
三、用户管理常用后续操作
1. 验证用户是否创建成功
# 查看用户信息(UID、GID、所属组等)
id username
# 查看用户家目录和 Shell
cat /etc/passwd | grep username
2. 切换到新用户登录
su - username
执行后提示符变为 username@主机名:~$,表示切换成功。
3. 删除用户
# 仅删除用户,保留家目录
sudo userdel username
# 删除用户并同时删除家目录
sudo userdel -r username
四、常见问题排障
| 问题现象 | 解决方法 |
|---|---|
adduser: Only root may add a user or group to the system |
忘记加 sudo,重新执行 sudo adduser username
|
切换用户后提示符是 $ 而非 username@主机名:~$
|
用 useradd 时没加 -s /bin/bash,执行 sudo usermod -s /bin/bash username 修复 |
新用户无法使用 sudo 命令 |
未加入 sudo 组,执行 sudo usermod -aG sudo username,注销重新登录生效 |