Linux教程:http://www.fdlly.com/m/linux
Linux下的用户组分类
用户组时具有相同特征用户的逻辑集合
将用户分组是Linux系统中对用户进行管理及控制访问权权限的一种手段。
在Linux系统中, 有两种组群分类方法,
- 一种方法将组群分为私有组群和标准组群
- 另一种方法将组群分为主要组群和次要组群
私有组群和标准组群
私有族群
当创建一个新的用户账户时, 如果没有指定该用户属于哪一个组群, 那么Linux就会创建一个和该用户同名的组群, 这个组群就是私有组群, 在这个私有组群中只包含这个用户
私有组群可以转换成标准组群, 当把其他用户加入到该组群中, 那么这个私有组群就变成了标准组群。
标准族群
标准组群也称为普通组群, 标准组群可以包含多个用户账户。 如果使用标准组群, 那么在创建一个新的用户账户时, 应该指定该用户属于哪一个组群。
主要组群和次要组群
主要组群
当一个用户账户属于多个组群成员时, 登录后所属的组群便是主要组群, 其他的组群是次要组群。 一个用户账户只能属于一个主要组群
次要组群
次要组群也称为附加组群, 一个用户账户可以属于多个次要组群
/etc/group:用户组账号文件
该文件为文本文件,该文件包含用户组的所有信息,该文件对任何用户均可读
在/etc/group
文件中, 每一行代表一个用户组的信息,每行的字符之间使用:分隔,共4个字段
用户组名称:用户组密码:组标识号:组内用户列表
下面是/etc/group
文件的部分内容
root:x:0:
- 用户组名称:代表用户组的字符串。用于区分不同的用户组。在同一系统中注册名是惟一的。在很多系统上,该字段被限制在8个字符(字母或数字)的长度之内;并且要注意,通常在Linux系统中对字母大小写是敏感的
- 用户组密码:存放着加密后的用户组密码,用来校验用户组的合法性。虽然这个字段存放的只是用户组密码的加密串, 不是明文。由于安全性原因,已不使用该字段保存口令,用x占位,密码已被映射到/etc/gshadow文件中
- 组标识号:Group ID,简称GID。是一个整数,系统内部用它来标识用户所属的组,每个组都有自己独有的唯一的识别号,超级管理群组root群组GID是0,系统群组GID是1999,默认普通群族的GID从100060000。
- 组内用户列表:用逗号分隔的,属于该群组的用户成员列表
/etc/gshadow:组账号文件
该文件为文本文件,该文件包含用户组的密码信息,/etc/gshadow
文件和/etc/group
文件是互补的两个文件;该文件只能由超级管理员root查看,其它用户无法访问
在/etc/gshadow
文件中, 每一行代表一个用户组的密码信息,每行的字符之间使用:分隔,共4个字段
用户组名称:用户组密码:用户组组群管理者:组内用户列表
下面是/etc/group
文件的部分内容
root:::
- 用户组名称:代表用户组的字符串。用于区分不同的用户组。在同一系统中注册名是惟一的。在很多系统上,该字段被限制在8个字符(字母或数字)的长度之内;并且要注意,通常在Linux系统中对字母大小写是敏感的
- 用户组密码:存放着加密后的用户组密码,用来校验用户组的合法性。虽然这个字段存放的只是用户组密码的加密串, 不是明文。如果该字段显示
!
,表示该群组没有密码 - 组标识号:Group ID,简称GID。是一个整数,系统内部用它来标识用户所属的组,每个组都有自己独有的唯一的识别号,超级管理群组root群组GID是0,系统群组GID是1999,默认普通群族的GID从100060000。
- 组内用户列表:用逗号分隔的,属于该群组的用户成员列表
新增组的命令groupadd
需要更改群组的识别码或名称时,可用groupmod指令来完成这项工作
groupadd语法
功能说明:更改群识别码或名称
语法
groupdel [选项][群组名称]
选项及参数
-
-g<群组识别码GID>
:为群组设置GID -
-r
:创建系统群组 -
-o
:允许多个不同的用户组使用相同的用户组ID -
-f
:即使组群已经存在,还是强制创建群组 -
-p<密码>
:设置加密的密码
groupadd实例
创建群组
创建名为newgroup的新群组
[root@localhost ~]# groupadd newgroup
创建群组,并指定GID
创建名为newgroup的新群组,并设置GID为1116
[root@localhost ~]# groupadd -g 1116 newgroup
创建系统群组
创建名为sysgroup的系统群组
[root@localhost ~]# groupadd -r sysgroup
创建群组,并设置密码
创建名为newgroup的新群组,并设置密码
[root@localhost ~]# groupadd -p 123456 newgroup
修改组的命令groupmod
groupmod语法
需要更改群组的识别码或名称时,可用groupmod指令来完成这项工作
功能说明:更改群识别码或名称
语法
groupdel [群组名称]
选项及参数
-
-g<群组识别码>
:设置欲使用的群组识别码 -
-o
:重复使用群组识别码 -
-n<新群组名称>
:设置欲使用的群组名称
groupmod实例
使用groupmod命令更改组群名称
将groupname组群名称更改为newgroupname
[root@localhost ~]# groupmod -n newgroupname groupname
使用groupmod命令更改组群GID
将groupname组群GID更改为1116
[root@localhost ~]# groupadd -g 1116 groupname
删除组的命令groupdel
需要从系统上删除群组时,可用groupdel指令来完成这项工作。当若该群组中仍包括某些用户,则必须先删除这些用户后,方能删除群组
groupdel语法
功能说明:删除群组
语法:
groupdel [群组名称]
groupdel实例
删除组群groupname
[root@localhost ~]# groupdel groupname