绑定完请刷新页面
取消
刷新

分享好友

×
取消 复制
Linux 系列之五用户组实战
2023-04-19 17:54:18

2 linux用户组实战

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

2.1 查询用户组

2.1.1 用户组组信息的查询

执行 :

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



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

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

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

具体解释:

组名:

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

口令:

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

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

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

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

组内用户列表:

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

2.1.2 用户组密码的查询

执行

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



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

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

具体解释:

用户组名:

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

用户组密码:

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

用户组管理者:

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

组成员:

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

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

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
分享好友

分享这个小栈给你的朋友们,一起进步吧。

Linux技术精选专区
创建时间:2020-07-08 10:30:23
Linux,全称GNU/Linux,是一套免费使用和自由传播的类UNIX操作系统,其内核由林纳斯·本纳第克特·托瓦兹于1991年次释出,它主要受到Minix和Unix思想的启发,是一个基于POSIX和Unix的多用户、多任务、支持多线程和多CPU的操作系统。它能运行主要的Unix工具软件、应用程序和网络协议。
展开
订阅须知

• 所有用户可根据关注领域订阅专区或所有专区

• 付费订阅:虚拟交易,一经交易不退款;若特殊情况,可3日内客服咨询

• 专区发布评论属默认订阅所评论专区(除付费小栈外)

技术专家

查看更多
  • dapan
    专家
戳我,来吐槽~