用户组管理
每个用户都有一个用户组,若在创建账户时未指定,那么系统会以用户账号名作为该用户的用户组,并将与该账号同名的用户组同步到/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中的基础知识,读者应熟练掌握用户与用户组的管理方法。