一:概述

  为了方便用户共享系统中的文件或者其他的资源,LInux开发者引入了组的功能。Linux系统中每一个用户都一定隶属于至少一个群组,系统在创建用户时为每一个用户都创建了一个同名的组,并且把该用户也加入其中。用户也可以加入其他的组中以获取需要的资源。通过用户组可以方便用户的组织和管理,包括创建;删除和修改等操作。

二:Linux系统中的用户组

  当我们创建一个用户之后,这个用户必须属于一个或多个组。所有的群组信息,都存放在/etc/group文件中,每一个用户都有一个组织标识号GID.。如果你想查看用户所属的组,可以使用groups命令。

   格式: groups  [选项] [用户名] 

  如果你使用group命令时没有指定用户名,那么系统会默认当前进程中的用户。

下面演示一下,截图如下:

                       用户组的创建、‘删除和修改_群组

  在/etc/group文件中存放了Linux系统中所有群组的信息,每一群组的信息占一行,每一行的信息被“:”分隔为四段,含义解释如下:

第一个字段: 表示群组的名称。

第二个字段:x表示该群组登录LInux群组时必须使用密码。

第三个字段: 表示群组的群组标识符(GID).

第四个字段:   表示群组的其他成员.

如果/etc/passwd文件中指定的用户组在/etc/group文件中不存在,那么用户是无法登录的。

三:用户组的创建

  用户组的创建和用户的创建其实差不多,只不过使用的命令不同而已。创建用户使用useradd命令,而创建组使用groupadd命令。这个命令的使用格式与useradd命令也相似,

命令格式:groupadd [选项] 组名 

  这个命令有一个常用的选项是-g,表示指定新用户组的组件标识符(GID) [-g GID]。创建组之后,可以在/etc/group和/etc/gshadow文件中确认一下。

   下面演示一下用户组的创建,截图如下:

  

                       用户组的创建、‘删除和修改_字段_02

 上述文件中同样将信息分割为了4个字段,

  第一个字段:表示群组的名称。

 第二个字段:密码字段,!表示没有合法的密码。当第二个字段是!或者是空的时,就表示没有用户管理员。

 第三个字段:表示用户组管理账号。

 第四个字段:表示加入用户组的其他成员。

  其实用户组管理员的存在是为了帮助root管理员加入用户组的成员,从而减轻root的负担.

四:删除用户组

  删除用户组的命令也很简单,一个groupdel命令就可以搞定,这个命令可以删除系统中的某个用户组。在删除用户组的时候,如果有用户把这个作为主组,就不可以直接删除这个组,需要把用户从该组中移除才行。如果用户把该组作为附加组,就不会影响这个组的删除。

格式:groupdel 组名 

演示删除上面创建的group1组为例演示结果截图如下:

                       用户组的创建、‘删除和修改_字段_03

  观察上图可以看出,在删除用户组group1之后,使用tail命令在/etc/group和/etc/gshadow中就找不到相关的信息了。

五:修改用户组

   这个修改用户组的命令和usermod类似,修改用户所属的组使用groupmod命令,包括组名和GID的修改。不过最好不要所以修改GID,这样容易造成系统资源的错乱现象。

groupmod命令的格式:groupmod [选项] 组名

该命令常见的选项如下表所示:

选项

说明

-n

修改组名[-n 新组名 旧组名]

-g

修改GID

   按照上面的命令格式,先创建一个用户组group2,再使用groupmod命令将用户组名字改为groupx,演示截图如下图所示:

                       用户组的创建、‘删除和修改_字段_04

    注意:如果想要让系统中的一个用户加入到其他的用户组中,可以使用usermod命令搭配-G使用,现在我在系统中创建一个用户组otergroup,想让user2加入到这个用户组之中。-

                       用户组的创建、‘删除和修改_用户组_05

阿里云国内75折 回扣 微信号:monov8
阿里云国际,腾讯云国际,低至75折。AWS 93折 免费开户实名账号 代冲值 优惠多多 微信号:monov8 飞机:@monov6