Linux 系列之五用户组实战

文章 海牛博士 ⋅ 于 2021-06-04 20:28:48 ⋅ 583 阅读

2 linux用户组实战

因为用户组与用户是一对多的关系,用户肯定是要从属于某个组的,所以我们先从用户组操作起来

2.1 查询用户组

2.1.1 用户组组信息的查询

执行 :

#cat 命令,查看某个文件的内容  /etc(配置文件目录)/group(配置文件)
[root@localhost ~]# cat /etc/group

file

​ 用户组的所有信息都存放在/etc/group文件中。

​ 此文件的格式是由冒号(:)隔开若干个字段,这些字段具体如下:

组名:口令:组标识号:组内用户列表

具体解释:

组名:

组名是用户组的名称,由字母或数字构成。与/etc/passwd中的登录名一样,组名不应重复。

口令:

口令字段存放的是用户组加密后的口令字。一般Linux系统的用户组都没有口令,即这个字段一般为空,或者是*,有口令默认是x。

因为涉及到对组的管理所以linux的组也是有自己的密码的

组标识号 主键ID(可以重复的):

组标识号与用户标识号类似,也是一个整数,被系统内部用来标识组。别称GID.

组内用户列表:

是属于这个组的所有用户的列表,不同用户之间用逗号(,)分隔。这个用户组可能是用户的主组,也可能是附加组。

2.1.2 用户组密码的查询

执行

[root@localhost ~]# cat /etc/gshadow

file

由冒号(:)隔开若干个字段,这些字段具体如下:

用户组名:用户组密码:**用户组管理者**:支持的账号名称

具体解释:

用户组名:

​ 是用户组的名称,由字母或数字构成。

用户组密码:

​ 这个段可以是空的或!,如果是空的或有!,表示没有密码。

用户组管理者:

​ 这个字段也可为空,如果有多个用户组管理者,用,号分割。

组成员:

​ 如果有多个成员,用,号分割。

当你每次创建的时候 为了保证这个账户归属某个组 所以 创建一个账户的同时 / 创建一个与用户同名的组

root 账户 root组

2.2 添加用户组

groupadd

语法 :

groupadd [选项] 组名

命令功能:

​ 添加群组。

选项和参数:

​ -g GID:后面接某个特定的 GID ,用来直接给予某个GID;

​ -h :显示此帮助信息并退出

​ -r :创建一个系统群组。

​ -o :允许创建有重复 GID 的组

实例:

1)创建一般群组(GID 从 1000 ! 1000以下代表是系统组)

[root@localhost ~]# groupadd group1
[root@localhost ~]# cat /etc/group | grep group1
group1:x:1000:

​ | N个命令的管道连接符 ,它的意义就是在于 ,将前一个命令的结果作为原始数据传入下一个命令 ,此处我们将 cat /etc/group 命令的执行结果 ,通过 | 传入给 grep 命令 ,

​ grep命令的作用是,在指定内容中查找给定的关键字,因为我们要用grep查找 group1 关键词 ,所以通过上面命令的执行将包含group1 关键词的那行查询出来;

2)创建一个自定义GID的组名

​ GID : 和我们之间数据库的主键ID一样,用来定位一个组的有效标识,但是linux的GID可以重复(使用-o 参数指定即可);

​ GID的编号 : 0~999 传统上是保留给系统帐号使用。自定义的组是1000以上的,刚才我们创建的group1组的ID就是1000;

[root@localhost ~]# groupadd -g 1003 group3
[root@localhost ~]# cat /etc/group | grep group3
group3:x:1003:

​ 此处需要注意一个问题,因为我们自定义的组ID已经指定到了1003, 所以按照ID递进原则之后我们如果创建group3组的话,ID不会是我们没有用到的1002 ,而是 1003+1 --> 1004

[root@localhost ~]# cat /etc/group | grep group4
group4:x:1004:

3)创建系统群组

[root@localhost ~]# groupadd -r sysop1
[root@localhost ~]# cat /etc/group | grep sysop1
sysop1:x:995:

注意

系统群组的ID是 0-999 所以此处分配了一个 995的ID

此时大家就要考虑一个问题了,如果系统保留ID用没了,但是我还是想创建系统群组怎么办呢?

这个时候我们可以使用 -o 参数来设定GID相同的群组

[root@localhost ~]# groupadd -r -o -g 995 sysop2
[root@localhost ~]# cat /etc/group | grep sysop2
sysop2:x:995:

根据观察我们可以看出,sysop2和sysop1使用了相同的GID;

2.3 修改用户组

groupmod

命令格式:

groupmod [选项] 组名

命令功能:

​ 修改群组相关参数。

选项和参数:

-g GID :将组 ID 改为 GID

-h :显示此帮助信息并退出

-n NEW_GROUP :改名为 NEW_GROUP

-o :允许使用重复的 GID

实例:

修改 sysop2 组的名称为 sysug1 并且修改这个组的ID为 996

[root@localhost ~]# groupmod -g 996 -n sysug1 sysop2
groupmod:GID “996”已经存在
[root@localhost ~]# groupmod -g 997 -n sysug1 sysop2
groupmod:GID “997”已经存在
[root@localhost ~]# groupmod -g 998 -n sysug1 sysop2
groupmod:GID “998”已经存在
[root@localhost ~]# groupmod -g 999 -n sysug1 sysop2
groupmod:GID “999”已经存在
[root@localhost ~]# groupmod -g 994 -n sysug1 sysop2

注意 系统的GID是很紧张的!

2.4 删除用户组

groupdel

命令格式:

groupdel 组名

命令功能:

​ 删除用户组时,用户组必须存在,如果有组中的任一用户在使用中的话,则不能删除。

实例:

删除群组名为 sysop1 \sysug1** 的群组和**

[root@localhost ~]# groupdel sysop1
[root@localhost ~]# groupdel sysug1
版权声明:原创作品,允许转载,转载时务必以超链接的形式表明出处和作者信息。否则将追究法律责任。来自海牛部落-海牛博士,http://hainiubl.com/topics/75635
点赞
成为第一个点赞的人吧 :bowtie:
回复数量: 0
    暂无评论~~
    • 请注意单词拼写,以及中英文排版,参考此页
    • 支持 Markdown 格式, **粗体**、~~删除线~~、`单行代码`, 更多语法请见这里 Markdown 语法
    • 支持表情,可用Emoji的自动补全, 在输入的时候只需要 ":" 就可以自动提示了 :metal: :point_right: 表情列表 :star: :sparkles:
    • 上传图片, 支持拖拽和剪切板黏贴上传, 格式限制 - jpg, png, gif,教程
    • 发布框支持本地存储功能,会在内容变更时保存,「提交」按钮点击时清空
    Ctrl+Enter