学科分类
目录
Linux编程

用户组管理

每个用户都有一个用户组,若在创建账户时未指定,那么系统会以用户账号名作为该用户的用户组,并将与该账号同名的用户组同步到/etc/group文件中。以4.2.1小节中创建的用户kdy为例,查看/etc/group文件中包含“kdy”的行,输出结果如下:

[root@localhost itheima]# cat /etc/group | grep kdy
kdy:x:876:

输出的结果由“:”分割成3项,分别为组名、密码位、组ID。

本小节来讲解用户组管理的相关知识,包括用户组添加、删除、用户组属性修改与用户组切换。

1、 添加用户组

用户组可以在创建用户的同时默认设置,也可以由用户主动添加用户组。默认情况下新建用户的用户组与用户名相同,在创建用户的同时被创建。主动添加用户组时使用的命令为groupadd,命令格式如下:

groupadd [选项] [参数]

groupadd命令常用的选项如表1所示。

表1 userdel命令常用选项

参数 说明
-g 指定新建用户组的组ID
-r 创建系统用户组,组ID取值范围为1~499
-o 允许创建组ID已存在的用户组

案例7:创建一个用户组group1,指定其组ID为550。

[root@localhost itheima]# groupadd -g 550 group1

此时/etc/group文件中会新增一条记录,具体信息如下:

group1:x:550

案例8:创建一个用户组group2。

[root@localhost itheima]# groupadd group2

若选项缺省,则新增用户组其ID值为上一条未指定组ID记录中的组ID加1。使用tail命令查看/etc/group文件中末尾的5条记录,输出的信息如下:

kdy:x:876:
heima:x:877:
hm:x:878:
group1:x:550:
group2:x:879:

观察输出结果,其中kdy的组ID为876,新创建的用户组heima与hm的GID在876的基础上递增,group1的GID被指定,group2的GID在hm组ID的基础上加1。

2、 删除用户组

若要删除已存在的用户组,可使用groupdel命令。其命令格式如下:

groupdel 参数

该命令的用法很简单,在命令后直接跟上用户组名即可。

案例9:删除用户组group2。

[root@localhost itheima]# groupdel group2

3、 修改用户组属性

用户组的一些属性,如组ID和组名,都可以被修改。修改用户组属性的命令为groupmod,其命令格式如下:

groupmod [选项] [用户组]

groupmod的常用选项如表2所示。

表2 userdel命令常用选项

参数 说明
-g 为用户组指定新的组ID
-n 修改用户组的组名
-o 允许创建组ID已存在的用户组

案例9:修改用户组group1的组ID为555。

[root@localhost itheima]# groupmod -g 555 group1

案例10:修改用户组group1的组ID为666,并更改组名为group2。

[root@localhost itheima]# groupmod -g 666 -n group2 group1

4、 用户组切换

在讲解用户组切换的方法之前,先来了解一下基本组和附加组的概念。

useradd命令常用选项中,提供了选项-g和-G,分别用于指定用户的所属组和附加组。若用户被创建时没有指定用户组,系统会为用户创建一个与用户名相同的组,这个组就是基本组,若在某个用户的目录中创建文件,文件的所属组,就是用户的基本组;另外可以为用户指定附加组,除基本组之外,用户所在的组都是附加组,为用户指定附加组,可以使用户拥有对应组的权限。用户可以从附加组中移除,但不能从基本组中移除。

切换用户组的命令为newgrp,在切换用户组之前,先来创建一个新用户,并为其指定附加组。

[root@localhost itheima]# useradd admin -G itheima
[root@localhost itheima]# passwd admin
Changing password for user admin.
New password: 
Retype new password: 
passwd: all authentication tokens updated successfully.

之后使用用户admin登陆系统,便可以使用命令newgrp切换用户组了。newgrp命令的格式如下:

newgrp 用户组名

用户与用户组管理并不难,但它们是掌握linux中的基础知识,读者应熟练掌握用户与用户组的管理方法。

点击此处
隐藏目录