Linux用户组管理

在Linux中,组用于组织和管理用户帐户。 组的主要目的是定义一组特权,例如可以在组内的用户之间共享的给定资源的读取、写入或执行权限。

与用户类似,用户组分为两类,普通用户组和管理员组。普通用户组又可以分为登录用户组和系统用户组。用户组也有一个用户组标识(GID),用户组标识使用一个16位二制数表示,它的范围是0-65535。其中管理员组的GID为0,系统用户的组ID范围为1-999,登录用户组的GID范围为1000-60000。

每个用户组也有一个组名,组名和GID之间可以相互转换,这个过程被称为名称解析。解析库为/etc/group文件。

$cat /etc/group
root:x:0:
bin:x:1:
daemon:x:2:
sys:x:3:
adm:x:4:
tty:x:5:
disk:x:6:

/etc/group文件中,每一个用户组占用一行记录。每一个记录被冒号分隔成4个字段(列)。

  1. 第1个字段是这个用户组的名字。
  2. 第2个字段中的x表示这个用户组在登录Linux系统时必须使用密码。
  3. 第3个字段记录的是这个用户组的gid
  4. 第4个字段记录的是这个用户组里还有哪些成员。

每个用户组还对应着/etc/gshadow文件里的一条记录。/etc/gshadow文件只能由root用户读取,并且包含每个组的加密密码,以及组成员和管理员信息。 就像在/etc/group文件中一样,每个组的信息都在单独的一行上。 这些行中的每一行都是一个以冒号分隔的列表,包括以下信息:

user1:!!::user1
  • 组名。 被各种实用程序用作组的人类可读标识符。
  • 加密密码 — 组的加密密码。
  • 组管理员 — 此处列出的组成员(在逗号分隔列表中)可以使用gpasswd命令添加或删除组成员。
  • 组成员 — 此处列出的组成员(以逗号分隔的列表)是该组的常规、非管理成员。

创建用户组

下面,我们将讨论如何在Linux中使用groupadd命令创建新组。

语法:

groupadd [OPTIONS] GROUPNAME

只有root或具有sudo权限的用户才能创建新的用户组。

例如:创建名为mygroup的用户组。

# groupadd mygroup

删除用户组

groupdel命令用于删除用户组。

只有root或具有sudo权限的用户才能删除用户组。

例如,要删除名为mygroup的组,您可以运行:

# groupdel mygroup

上面的命令从/etc/group/etc/gshadow文件中删除组条目。