前面小节介绍了 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
信息。