Link Start!
Linux系统中用户组是具有相同特性的用户的逻辑集合,系统中拥有几个甚至几百的可登录用户,有时需要让多个用户具有相同的权限,比如允许多个用户访问某一个文件,此时使用用户组管理就方便多了,只要将所有需要访问该文件的用户放入一个用户组里,并给这个用户组授权,这样族中所有用户也就拥有了相同的权限。
Linux系统中用户组分为初始组和附加组,一个用户可以有多个附加组,但只能有一个初始组。
初始组:
用户登陆时就拥有该用户组的相关权限,这个组就是用户的初始组(主组)。
每个用户的初始组只能有一个,通常就是江河此用户的用户名相同的组名作为该用户的初始组。
附加组:
每个用户只能有一个初始组,除初始组外,用户可以加入多个其他的用户组,并拥有这些组的权限,那么这些用户组就是这个用户的附加组。
- 一对一:一个用户只归属于一个用户组,这个用户是用户组中的唯一成员;
- 多对一:多个用户归属于同一个用户组;
- 一对多:一个用户归属于多个不同的用户组;
- 多对多:多个用户归属于不同的用户组;
/etc/group文件是存储系统中用户组的ID,即GID以及组名的文件。
- 组名字段:用户组的名称由字母或数字组成,且在系统中具有唯一性;
- 组密码字段:该字段用来指定组管理员,为了安全,一般以‘X’的形式显示;
- GID字段:用户组的ID,用于用户识别;
- 用户组成员列表字段:可列出用户组包含的附加组成员列表,若无则显示空;
/etc/gshadow文件用于存储Linux系统中用户组密码信息,对于大型服务器,针对很多用户和组,定制一些关系结构比较复杂的权限模型,设置用户组密码是及其必要的。
为了保证密码的安全性,故只有root用户对该文件具有只读权限且不能修改,其他用户不能对其进行任何操作,文件中每一行都是一个用户组密码的相关信息。
①命令作用
可以建立新的用户组,且仅有root用户才可以使用该命令,新用户组的信息及那个被添加到系统文件中。
②命令格式
groupdadd [选项] 用户组名
③命令选项
选项名称 | 选项含义 |
-g | 指定新建用户组GID |
-K | 覆盖配置文件”/etc/login.defs“ |
-o | 允许使用重复的用户组GID |
-p | 设置用户组密码 |
-r | 创建系统用户组 |
④实例
新增yf、fw、sc三个用户组,分别指定GID,并查看结果。
①命令作用
用来修改用户组的相关信息。
②命令格式
groupmod [选项] 用户组名
③命令选项
选项名称 | 选项含义 |
-g | 修改用户组GID |
-o | 允许使用已存在的用户组GID |
-n | 修改用户组名称 |
④实例
新增yf01和yf02的用户组修改为yf,并查看结果。
①命令作用
用于将一个用户添加到用户组或者从用户组中删除,还可以使用该命令给用户组设置一个组管理员。
②命令格式
gpasswd [选项] 用户组名
③命令选项
选项名称 | 选项含义 |
-a | 将一个用户加入到一个用户组中 |
-d | 将一个用户从一个用户组中删除 |
-r | 取消一个用户组的组密码 |
-R | 限制其成员访问用户组 |
-A | 指定用户组的管理员 |
——注意:当选项为空时,表示给群组设置密码——
①命令作用
可以删除用户组,但该命令仅有root用户才能使用,且仅适用于删除“不是任何用户初始组”,如果用户组还是某用户的初始组,则无法成功删除。
②命令格式
groupdel 用户组名
①命令作用
可以从用户的附加组中选择一个用户组,作为用户新的起始组。
②命令格式
newgrp 用户组名
①:设置组密码
gpasswd 用户组名
②:将用户添加到组(-a)
gpasswd -a 用户名 用户组名
③:将用户从组删除(-d)
gpasswd -d 用户名 用户组名
④:将某用户设置为组管理员(-A)
gpasswd -A 用户名 用户组名
⑤:删除组密码(-r)
gpasswd -r 用户组名