Linux用户与组管理的核心操作包括用户组管理和用户与组关联,以下是关键命令及说明:
一、用户组管理
1.创建用户组
sudo groupadd [选项] 组名
-g GID:指定组ID(如 groupadd -g 1001 dev)
-r:创建系统组(GID范围由 /etc/login.defs 定义)
2.查看用户组
查看所有组:cat /etc/group 或 getent group
查看特定组:grep '组名' /etc/group 或 getent group 组名
3.修改用户组
sudo groupmod [选项] 组名
-g 新GID:修改组ID
-n 新组名:重命名组(如 groupmod -n dev-team dev)
4.删除用户组
sudo groupdel 组名
注意:需确保组内无用户(主组需先修改用户主组)
二、用户创建
1.使用 useradd 命令,基础格式为:
sudo useradd [选项] 用户名
常用选项:
-m :自动创建用户家目录(默认路径 /home/用户名 )。
-s :指定登录Shell(如 /bin/bash 或 /bin/zsh )。
-g :指定初始用户组(需提前存在)。
-G :添加用户到附加组(多个组用逗号分隔)。
2设置密码
创建用户后需通过 passwd 命令设置密码:
sudo passwd 用户名
输入两次密码完成设置(密码默认不可见)。
3.常用创建场景示例
•创建带家目录和默认Shell的用户:
sudo useradd -m -s /bin/bash testuser
•创建用户并指定初始组:
sudo useradd -g developers testuser # 假设developers组已存在
• 创建用户并添加到多个附加组:
sudo useradd -G sudo,users testuser
4. 注意事项
权限要求:创建用户需 root 权限,普通用户需加 sudo 执行。
家目录权限:默认家目录权限为 700 (仅用户本人可读写),可通过 chmod 调整。
删除用户:若需删除用户,可使用 userdel -r 用户名 ( -r 同时删除家目录)。
三、用户与组关联
1.创建用户并指定组
sudo useradd [选项] 用户名
-g 主组名:指定主组(如 useradd -g dev alice)
-G 附加组1,附加组2:指定附加组
2.修改用户所属组
sudo usermod [选项] 用户名
-aG 组名:追加用户到附加组(如 usermod -aG dev alice)
-g 新主组:修改主组
3.临时切换组
newgrp 组名
需用户属于该组(主组或附加组)
四、关键文件
/etc/group:存储组信息(格式:组名:密码占位符:GID:成员列表)
/etc/passwd:存储用户信息(包含主组GID)
/etc/shadow:存储组密码(极少使用)
五、权限应用示例
设置目录归属组:sudo chown :dev-team /projects
启用组权限继承(setgid位):sudo chmod 2775 /projects
新文件自动继承父目录组权限






