组是 Linux 系统的基础。这些是特殊列表,允许您将多个用户分组到不同的类别。除了保护系统的应用程序权限之外,它还允许您精细控制系统中的每个帐户如何访问和共享其文件和文件夹。
本文介绍如何使用组实用程序添加和修改 Linux 中的现有组。此外,它还将重点介绍 Linux 权限系统如何与组系统结合使用。
内容
从本质上讲,Linux 组是对特定文件或程序共享相同权限和特权的用户集合。系统中的每个文件都有一组所有权和权限位。找到此问题的最简单方法之一是在您的主目录上运行 ls -l 。

这将列出目录中的所有可见文件和文件夹及其所有权和权限位。在大多数情况下,其一般格式如下所示:
-rwxrwxr-x 1 ramces maketecheasier 8.7k Oct 24 20:39 hello.txt
第一、第三和第四列显示当前文件的权限和所有权位。例如,“rwxrwxr-x”值告诉系统每个人都可以读取此文件,但只有用户“ramces”和组“maketecheasier”可以写入它。
这两个部分携手合作,在 Linux 中创建了一个经过微调的访问控制系统。权限位告诉系统所有权位中的用户和组如何使用文件。
在 Linux 中修改组的第一步是了解用户可以使用哪些组,以便您了解系统中的活动组。
运行以下命令将列出当前用户的所有可用组:
id

除了查看特定于用户的组之外,还可以通过运行以下命令列出系统中的每个组:
sudo less /etc/group
这将在终端屏幕上打印整个“/etc/group”文件。按 J 或 K 滚动文件。

默认情况下,“/etc/group”是一个以冒号分隔的文件,其中包含用户和系统特定的组。文件中的每一行代表计算机中当前活动的组。
每行的一般格式如下:
group-name:password:GID:users
- group-name 是组的标签。在大多数情况下,系统组以下划线开头,以区别于常规组。
- 密码是用于创建安全组的可选字段,如果您与多人共享系统,该字段非常有用。
- GID 是该特定组的组 ID。
- 最后,用户字段是一个以逗号分隔的列表,其中包含属于该组的所有用户。

注意:即使您不在 root 组中,您仍然可以以 root 身份打开文件。了解如何做到这一点。
要在 Linux 中创建新组,请使用 命令。与 id 不同,这是一个仅处理组创建的实用程序。
例如,我可以运行以下命令来创建一个名为“test”的新组。
groupadd -v test

还可以在单个命令中创建新用户和组,这在您设置具有预定权限的 shell 脚本帐户时非常有用。
为此,请运行以下命令:
sudo useradd -m -G maketecheasier -s /bin/bash test
- - 标志告诉 创建新用户的主目录,因为默认情况下,Linux 不会为“test”用户创建主目录。
- 标志告诉 创建“test”用户并将其添加到“maketecheasier”组。
- 标志为“test”用户设置默认登录 shell。就我而言,我告诉 实用程序将“测试”用户的登录 shell 设置为 Bash。

除了创建组及其用户之外,您还可以通过运行以下命令将现有用户添加到组中:
sudo usermod -aG maketecheasier user

最后,还可以将多个用户添加到您的新组中。为此,请运行以下命令:
sudo gpasswd -M ramces,test maketecheasier

这将使“maketecheasier”组的成员名册包含“ramces”和“test”。但是,请务必注意, 标志始终会替换“/etc/group”文件中的用户值。
将新用户追加到您的组中还需要您包含该组中已有的用户。例如,运行以下命令会将“alice”和“bob”附加到“maketecheasier”组:
sudo gpasswd -M ramces,test,alice,bob maketecheasier

提示:了解如何使用 sudo 命令切换到另一个用户帐户。
虽然可以修改“/etc/group”文件,但它可能会破坏文件的内部格式,导致系统具有非功能组和缺少权限。因此,直接编辑“/etc/group”文件并不是一个好的做法。
不!默认情况下,Linux 组系统不会应用您对在线用户所做的任何更改。这种方法可以保护这些用户免受任何突然的系统更改的影响,这些更改可能会阻止他们访问文件或程序。
要更新用户的组列表,请从当前会话注销或重新启动整个计算机。
<小> 图片来源:Unsplash。所有修改和截图均由 Ramces Red 进行。 小>
版权声明:
本文来源网络,所有图片文章版权属于原作者,如有侵权,联系删除。
本文网址:https://www.mushiming.com/mjsbk/4667.html