33. 【Linux教程】Linux 用户组

简介: 33. 【Linux教程】Linux 用户组

前面小节介绍了 Linux 用户相关的增删改查,本小节介绍 Linux 用户组,Linux 系统中采取了一种安全机制(即用户组),用户组可以允许多个 Linux 用户共享同一种权限。

1. 用户组介绍

Linux 是多任务多用户的操作系统,可以理解为在 Linux 系统中支持多个用户在同一时间内在不同的终端登陆,并且不同用户可以调用不同的任务,它们之间互不影响。


不同的 Linux 用户权限不同,毎个用户可以执行指定权限范围内的任务,Linux 系统通过这种权限的管理划分,实现了多用户多任务的运行机制。因此,如果要使用 Linux 系统的资源,就需要向系统管理员申请一个用户。


通过建立不同权限的用户,可以合理地利用和控制系统资源,还能帮助用户组织文件,提供对用户文件的安全性保护。用户组是具有相同特征用户的逻辑集合,简单的理解,有时我们需要让多个用户具有相同的权限,例如新建、删除、修改、查看文件的权限,可以分别对多个用户进行文件访问授权,但如果用户多了,挨个的给用户授权这种方式就不太合理。


最好的方式是建立一个组,让这个组具有新建、删除、修改、查看文件的权限,然后将所有需要访问此文件的用户放入这个组中,每个组都会有唯一的 GID,这样所有组中用户就具有了和组一样的权限。

2. 查看 Linux 用户组

Linux 系统中 /etc/group 文件保存的就是系统中所有的用户组的主要信息,和用户文件 /etc/passwd 类似,这些信息以 : 分隔,可以使用 cat 命令查看其中的信息,命令如下:

cat /etc/group

执行结果如下图:

Tips:如上图所示,每行代表一个用户组。

/etc/group 文件中每行用户包含的信息如下:

  • 组名;
  • 组密码(以 x 表示);
  • 组 ID(GID);
  • 属于该组的用户列表。

Tips:组密码允许非组内的成员通过它临时使用该组的权限。

3. 查看 Linux 用户组信息

Linux 中 /etc/gshadow 文件上保存了每个用户组的信息,该文件和 /etc/shadow 类似,只有 root 用户才能访问,这个文件中包含每个用户组的一条记录信息,使用 cat 命令查看:

cat /etc/gshadow

执行结果如下图:


这些信息以 : 分隔,/etc/gshadow 文件中每行用户包含的信息如下:

  • 组名;
  • 加密密码;
  • 组管理员;
  • 组附加用户列表。

4. 查看用户的 ID 信息

若想要查看某一个 Linux 用户的 组ID(GID)用户ID(UID) ,可以使用 id 命令,命令如下:

id root
 
id user_name01
 
id user_name02

执行结果如下图:

Tips:最后的字段 组=gid 表示的是用户所在组,这里既可以看到初始组,如果有附加组,则也能看到附加组。

5. 小结

本小节介绍了用户组的作用,用户组在系统中可以方便管理不同权限组的用户,需要注意的是同一个用户可以加入到不同的组中,拥有不同的组分配的权限,非组内用户可以通过组密码临时使用组的权限。还介绍了用户组相关的两个文件 /etc/group 和 /etc/gshadow,最后介绍了如何使用 id 命令查看用户的 UID 和 GID 信息。


相关文章
|
3天前
|
安全 Linux 测试技术
Kali Linux渗透测试教程:解锁黑客之门
Kali Linux渗透测试教程:解锁黑客之门
|
17天前
|
Linux 数据处理 数据安全/隐私保护
Linux中的groups命令:管理用户组信息的利器
`groups`命令在Linux中用于显示用户所属的用户组,帮助管理员进行权限管理。它读取`/etc/group`和`/etc/passwd`文件获取信息,特点是简单直观,支持多用户组。命令参数如`-a`显示主组,`-g`显示主组ID,`-n`以数字形式显示,`-r`显示实际组。在实际应用中,结合其他命令可进行权限分析和定制输出。注意权限问题及用户组可能随系统变化。
|
2天前
|
Java Linux 网络安全
在Linux上搭建Maven仓库的实战教程
在Linux上搭建Maven仓库的实战教程
12 0
|
4天前
|
安全 Linux Python
【安全狗】linux免费服务器防护软件安全狗详细安装教程
【安全狗】linux免费服务器防护软件安全狗详细安装教程
10 0
|
26天前
|
存储 缓存 Linux
48. 【Linux教程】yum 软件包管理
48. 【Linux教程】yum 软件包管理
23 0
48. 【Linux教程】yum 软件包管理
|
26天前
|
Oracle Java 关系型数据库
04. 【Java教程】在 Linux 上安装 Java
04. 【Java教程】在 Linux 上安装 Java
25 0
|
26天前
|
Linux 应用服务中间件 编译器
50. 【Linux教程】源码安装软件
50. 【Linux教程】源码安装软件
18 0
|
26天前
|
Linux 应用服务中间件 nginx
49. 【Linux教程】rpm 软件包管理
49. 【Linux教程】rpm 软件包管理
30 0
|
26天前
|
Linux
47. 【Linux教程】逻辑卷的简单使用
47. 【Linux教程】逻辑卷的简单使用
14 0
|
26天前
|
存储 Linux 存储虚拟化
46. 【Linux教程】逻辑卷与 LVM 介绍
46. 【Linux教程】逻辑卷与 LVM 介绍
15 0