掌握linux用户和组管理的核心命令(useradd、usermod、groupadd)能提升系统运维效率。1. 创建用户使用useradd,可指定uid、主组、附加组、家目录和登录shell,如:useradd -g developers -g sudo,docker -s /bin/bash john;2. 修改用户信息用usermod,支持更改登录名、主组、附加组、家目录及锁定/解锁账户,如:usermod -ag deployers john;3. 创建组使用groupadd,可指定gid或创建系统组,如:groupadd deployers。此外,可用passwd设置密码,id或groups查看用户组信息,userdel删除用户,结合脚本实现批量管理。注意区分系统用户(uid

管理Linux用户和组是系统运维中非常基础但也非常关键的一项任务。无论你是设置服务器环境,还是维护本地开发机器,掌握几个核心命令能让你事半功倍。本文主要围绕 useradd、usermod 和 groupadd 三个命令展开,讲讲怎么用它们来高效管理用户和组。

创建用户:useradd 的常用操作
useradd 是用来创建新用户的命令,它有很多参数可以定制用户属性。默认情况下,执行 useradd username 会创建一个同名的主组,并分配一个家目录(通常是 /home/username)。

常用参数:
-
-u UID:指定用户的 UID -
-g 组名或GID:指定用户的主组 -
-G 组1,组2:指定用户的附加组 -
-d /路径:自定义家目录位置 -
-s /bin/bash:设置登录 shell
例如,创建一个属于 developers 主组,并且属于 sudo 和 docker 附加组的用户:

useradd -g developers -G sudo,docker -s /bin/bash john
注意:创建完用户后记得设置密码,使用 passwd john 命令即可。
修改用户信息:usermod 怎么用更灵活?
一旦用户创建完成,你可能还需要修改它的某些属性,这时候就要用到 usermod。它可以更改用户的主组、附加组、登录名、家目录等。
常用操作:
- 更改用户的登录名:
usermod -l newname oldname
- 更改用户的主组:
usermod -g newgroup username
- 添加附加组(保留原有附加组):
usermod -aG groupname username
- 锁定或解锁用户账户:
usermod -L username # 锁定 usermod -U username # 解锁
一个小细节:如果你要给用户加多个附加组,别一次性写 -G group1,group2,建议分开两次加,避免误删已有附加组。
创建用户组:groupadd 不只是建个组那么简单
除了用户之外,我们也要经常管理用户组。groupadd 命令可以快速创建一个新的用户组。
基本用法很简单:
groupadd groupname
进阶选项:
-
-g GID:手动指定组的 GID -
-r:创建系统组(GID 范围较小)
创建完组之后,可以通过 usermod 把用户加进来,或者直接在 useradd 的时候就指定。
举个例子:你想创建一个专门用于部署项目的组,叫 deployers,然后把 john 和 anna 都加入进去:
groupadd deployers usermod -aG deployers john usermod -aG deployers anna
这样他们就可以共享某些文件权限了。
用户和组管理的一些实用小技巧
-
查看用户所属组:可以用
groups username或者id username -
删除用户但保留家目录:使用
userdel username,加上-r参数会一并删除家目录 - 批量管理用户:结合脚本自动化处理,比如循环创建多个用户并设置初始密码
- 系统用户 vs 普通用户:UID 小于 1000 的通常是系统用户,创建时要注意区分用途
这些命令虽然简单,但组合起来能应对大多数日常管理需求。
基本上就这些。










