CodeGym /课程 /Docker SELF /管理用户组:创建、添加和从组中删除用户 (`groupadd`, `usermod -aG`, `groups`)...

管理用户组:创建、添加和从组中删除用户 (`groupadd`, `usermod -aG`, `groups`)

Docker SELF
第 2 级 , 课程 2
可用

管理用户组:创建、添加和从组中删除用户 groupadd, usermod -aG, groups

1. 认识 Linux 中的组

在 Linux 操作系统中,组允许根据兴趣、职责或其他标准将用户聚集在一起,并为他们分配共享访问权限。今天我们来聊聊如何操作用户组,向组添加用户,以及如何管理组。准备好了?那我们开始吧!

先来个现实生活的类比。想象一下,你在玩一个在线游戏,其中有公会。每个公会都有自己的成员,他们可以访问公会的共享资源:仓库、聊天和战略室。在 Linux 中,组的作用基本就差不多。组可以帮助你:

  1. 简化多个用户对文件和资源的访问管理。
  2. 根据用户的角色或任务将他们分成团队。
  3. 让系统管理员少些头疼。

当系统检查用户是否可以访问文件时,它会查看三个权限级别:文件所有者、组和其他人。如果用户属于文件指定的组,而该组具有访问权限,那么用户会开心,而管理员也会舒心。


2. 管理组的基本命令

Linux 提供了一些简单又强大的工具来操作组:groupaddusermodgroupsgroupdelgpasswd。我们一步步来看这些工具怎么用。

1. 创建新组 groupadd

在系统中创建一个新组非常简单。用 groupadd 命令即可。例如,如果我们要创建一个叫 developers 的组,可以这样做:

sudo groupadd developers

搞定啦!组已经创建完了。要确认它确实存在,可以查看 /etc/group 文件——这就像系统中所有组的联系人列表:

cat /etc/group | grep developers

你会看到类似下面的行:

developers:x:1001:

这里各部分的意思是:

  • developers — 组的名字。
  • x — 密码字段(通常没用)。
  • 1001 — 唯一的组 ID (GID)。
  • 第二个冒号之后的空白部分——这里是组中的用户。
来个笑话调节下气氛:

如果 GID 是组的电话号码,那么 /etc/group 就是它的电话簿。


2. 添加用户到组 usermod -aG

接下来我们把开发者加入到新组 developers 中去。使用命令 usermod 和选项 -aG 即可。例如,添加用户 john

sudo usermod -aG developers john

这里要记住两点:

  • 选项 -a 意思是 append(追加)。如果不加这个选项,你会意外地从所有其他组中删除用户,只剩下你指定的组。
  • 选项 -G 表示要添加用户到的组。

要检查用户所在的组,可以用命令 groups

groups john

或者用更详细的 id 命令:

id john

输出可能像这样:

uid=1002(john) gid=1002(john) groups=1002(john),1001(developers)

3. 从组中删除用户

如果你某个“开发者”决定改行做咖啡师,就需要从组中移除他。用 gpasswd 命令即可:

sudo gpasswd -d john developers

之后,用户 john 就不在 developers 组中了。别忘了用 groups john 检查一下,确认他真的撤了。


4. 删除组 groupdel

如果某个组不再需要,可以用 groupdel 命令删除它。例如:

sudo groupdel developers
注意!

如果组里还有用户,他们不会受任何影响。只是他们以后无法再引用这个组了。


3. 实践任务

让我们试着像真正的管理员一样,动手创建和设置群组!

场景:

  1. 创建一个群组 designers
  2. 创建两个新用户:alicebob
  3. 将这些用户添加到群组 designers
  4. 检查用户是否真的加入了群组。
  5. 从群组 designers 中移除用户 alice

解答:

步骤 1. 创建群组

sudo groupadd designers

步骤 2. 创建用户

sudo adduser alice
sudo adduser bob

步骤 3. 将用户添加到群组

sudo usermod -aG designers alice
sudo usermod -aG designers bob

步骤 4. 检查添加

groups alice
groups bob

步骤 5. 从群组中移除 alice

sudo gpasswd -d alice designers

4. 特点和常见错误

操作用户组就像照顾小猫:看起来简单轻松,但一转眼可能会变成一团糟:

  1. 选项 -aG. 忘记加上 -a,你可能会意外将用户从所有组里移除,只保留新加的那个。这种情况尤其"有趣",如果这个用户原本属于系统组,比如 sudo

  2. 改动需要重新登录才能生效. 如果用户添加到新组后没有马上生效——别慌张!用户需要退出系统后重新登录才能获得新权限。

  3. 遵循命名规则. 不要在组名中使用空格或特殊字符。像 awesome@group 那样的名字会造成问题,让管理员崩溃。

  4. 检查访问权限. 用户组创建并分配完成了?太棒了!但是如果文件没有给到组权限,大家还是无法操作。所以记住:权限需要单独检查并设置。

在真实场景中

在实际项目中,管理用户组通常用于:

  • 划分开发人员、测试人员和管理员对服务器资源的访问权限。
  • 为团队设置共享的工作目录。
  • 管理对数据库、配置文件、脚本以及——当然——咖啡机的访问权限(好吧,目前 Linux 还没办法帮你搞定最后这个)。

现在你知道如何在 Linux 中创建和管理用户组了,你已经准备好优雅高效地管理你的系统。

评论
TO VIEW ALL COMMENTS OR TO MAKE A COMMENT,
GO TO FULL VERSION