在Linux系统管理中,创建普通用户并调整其用户组是最基础的操作之一。通过合理的用户与组配置,可以有效控制文件访问权限,降低直接使用root账号带来的安全风险。下文将逐步说明具体的命令与用法。

一、创建普通用户
最常用的创建用户命令是 useradd。执行该命令时若不指定参数,系统会按默认配置生成用户和家目录。实际运维中建议显式指定参数,避免环境差异导致的问题。
1. 基本创建命令
使用以下命令创建一个名为 testuser 的普通用户,并自动创建家目录:
# 创建用户并生成家目录 sudo useradd -m testuser # 为用户设置登录密码 sudo passwd testuser
2. 创建时指定用户组
可以在创建时通过 -g 指定主组,通过 -G 指定附加组。若指定的主组不存在,需先使用 groupadd 创建。
# 创建用户组 dev sudo groupadd dev # 创建用户并设定主组为 dev,附加组为 sudo sudo useradd -m -g dev -G sudo testuser
二、更改用户组
用户创建后,若需要调整其所属组,应使用 usermod 命令。注意主组与附加组的区别:主组影响新文件的默认属组,附加组决定用户可加入的权限集合。
1. 修改主组
使用 -g 参数修改用户的主组:
# 将 testuser 的主组改为 staff sudo usermod -g staff testuser
2. 添加或覆盖附加组
使用 -aG 可将用户追加到附加组,若漏掉 -a 则会覆盖原有附加组:
# 将 testuser 追加到 docker 附加组 sudo usermod -aG docker testuser
3. 查看用户组信息
修改完成后,可用 id 命令确认结果:
# 查看用户 uid 和所属组 id testuser
三、常见问题说明
- 执行 useradd 后无法登录,通常是未设置密码或家目录权限异常。
- 修改组后需重新登录会话,新的附加组权限才会生效。
- 在脚本中批量建用户时,建议统一使用 -m 参数确保家目录存在。
四、操作示例汇总
| 需求 | 命令 |
|---|---|
| 创建普通用户 | sudo useradd -m username |
| 设置密码 | sudo passwd username |
| 改主组 | sudo usermod -g groupname username |
| 加附加组 | sudo usermod -aG groupname username |
通过上述步骤,你已经在Linux系统下完成了普通用户的创建与用户组变更。熟悉 useradd 与 usermod 的组合用法,有助于构建清晰、安全的多用户运行环境。