Linux 中的组管理命令

组基本上是一组用户帐户,但被视为单个实体。 如果您为该组设置文件写入权限,则属于该组的所有用户都可以修改该文件的内容。

组是 Linux 系统管理和安全的重要组成部分。 想象一个企业环境,您在同一个 Linux 系统上有多个用户。 您可以将开发人员与测试人员和系统管理员分开,将他们放在不同的组中。 有了正确的文件权限,测试人员将无法运行特定于开发人员的工具和文件,反之亦然。

我强烈建议阅读 Linux 中的文件权限和所有权,以刷新基础知识。

Linux 中的组管理命令

有关组的信息存储在 /etc/group 文件中。 虽然您可以手动修改此文件的内容,但有多种命令可让您在 Linux 中管理组。 这些命令最终会更改 /etc/group 文件,但最好使用命令然后自己修改配置文件。

让我们看看您可以使用哪些命令来完成与组相关的任务。

1. groups 命令:显示用户的组

groups 命令打印用户的组。

groups [usernames]

没有任何参数,它会打印您所属的组。

[email protected]:~$ groups
abhishek adm cdrom sudo dip plugdev lpadmin sambashare docker

您还可以指定用户名以显示特定用户组。

[email protected]:~$ groups abhishek prakas
abhishek : abhishek adm cdrom sudo dip plugdev lpadmin sambashare docker
prakas : prakas sudo

2. groupadd 命令:添加新组

使用 groupadd 命令,您可以创建新组。

groupadd [options] group_name

您可以使用 -g 选项指定您自己选择的组 ID (GID)。 如果您想了解更多信息,我已经通过示例解释了 groupadd 命令。

3. groupdel 命令:删除现有组

groupdel 命令删除 Linux 中的现有组。

groupdel group_name

这里没有选项。 您应该记住,如果您删除一个组,该组拥有的所有文件仍将反映旧的组 ID。 它不会更改组所有权。

4. groupmod 命令:修改现有组

使用 groupmod 命令,您可以修改组参数,例如组名和组 ID (GID)。

groupmod [options] group_name

要更改组名,可以使用 -n 选项:

sudo groupmod -n new_groupname old_groupname

要更改 GID,可以使用 -g 选项:

sudo groupmod -g GID groupname

5. chgrp 命令:更改文件的组所有权

这个略有不同,因为它不处理组而是文件。 使用 chgrp 命令,您可以更改文件或目录的组所有权。

chgrp [options] groupname file

使用这些命令,您就可以在 Linux 中管理组了。