Linux创建用户并指定用户组的基础操作
Linux系统中管理用户和用户组是权限控制的核心环节,很多时候我们需要在创建用户的同时就为其分配合适的用户组,避免后续重复调整权限。最常用的创建用户并指定用户组的命令是useradd,配合相关参数即可实现需求。

一、创建新用户时直接指定用户组
使用useradd命令创建用户时,可以通过-g参数指定用户的主用户组,通过-G参数指定用户的附加用户组。需要注意的是,指定的用户组必须已经存在,否则命令会执行失败。
首先我们可以先查看系统中已有的用户组,执行以下命令:
# 查看所有用户组信息 cat /etc/group
如果要创建一个名为testuser的用户,同时将其主用户组指定为testgroup,附加用户组指定为devgroup,可以执行以下命令:
# 创建用户并指定主用户组和附加用户组 # -m 参数表示创建用户家目录 # -g 后接主用户组名称 # -G 后接附加用户组名称,多个附加组用逗号分隔 useradd -m -g testgroup -G devgroup testuser
执行完成后,我们可以通过以下命令验证用户的用户组配置是否正确:
# 查看用户所属的所有用户组 groups testuser # 或者查看用户详细信息 id testuser
二、创建用户后修改所属用户组
如果已经创建了用户,还没有指定对应的用户组,或者需要调整用户的用户组,可以使用usermod命令来修改。usermod的-g参数用于修改主用户组,-G参数用于修改附加用户组,使用-aG可以在不覆盖原有附加组的情况下添加新的附加组。
例如已经存在用户testuser,现在要将其主用户组修改为newgroup,同时添加附加用户组loggroup,执行以下命令:
# 修改主用户组 usermod -g newgroup testuser # 添加附加用户组,不覆盖原有附加组 usermod -aG loggroup testuser
三、用户组相关的其他常用操作
除了创建用户和指定用户组之外,还有一些相关的操作也比较常用,比如修改文件或目录的所属用户和用户组,使用chown命令即可实现。
例如要将/opt/test目录的所属用户改为testuser,所属用户组改为testgroup,执行以下命令:
# 修改文件/目录的所属用户和用户组 chown testuser:testgroup /opt/test # 如果要递归修改目录下所有内容,添加-R参数 chown -R testuser:testgroup /opt/test
如果后续需要删除用户,可以使用userdel命令,添加-r参数可以同时删除用户的家目录和相关文件:
# 删除用户并删除家目录 userdel -r testuser
四、操作注意事项
- 执行用户和用户组管理命令通常需要root权限,普通用户需要加上sudo前缀。
- 指定的用户组如果不存在,需要先使用groupadd命令创建用户组,再执行用户创建或修改操作。
- 使用usermod的
-G参数时,如果不加-a选项,会直接覆盖原有的附加用户组,操作前需要确认原有附加组是否需要保留。 - 修改用户组后,用户需要重新登录才能生效新的权限配置。