如何在Linux中将用户添加到组

多用户 Linux 服务器或 PC 上的文件访问可能会变得有点复杂。了解如何创建用户并将其添加到组中可以成为救星。就是这样。

如果您正在管理具有多个用户的服务器,那么就会出现杂耍行为。管理谁可以读取和写入目录以及谁只能读取文件需要一些额外的工具。在 Linux 中,这是通过组来完成的。让我们看看如何管理这些,特别是如何将用户添加到 Linux 中的组中。

Linux 文件权限初学者指南

首先,这些例子都是在Linux发行版Ubuntu下测试的。尽管如此,无论您运行的是哪种版本的 Linux,它们都应该以相同的方式工作。

在 Linux 中管理对文件和目录的访问需要使用一组权限。如果您通过从命令行输入ls -l查看这些内容,它看起来像这样:

第一个数字通常为空白,或者对于目录,您会看到d。之后,您将看到 3 位数字代表用户权限,3 位数字代表组权限,3 位数字代表其他人。这些数字(几乎都是字母)代表r )、w ) 和执行x )。请注意,最后一个不仅仅用于运行程序。如果没有执行权限,用户根本无法进入目录。

考虑到这一点,我们可以看到上面的示例是一个目录。目录的所有者 ( jeff ) 具有完全访问权限(读、写和执行)。该目录所属组的成员 ( jeff ) 可以更改到该目录并读取其文件,但不能写入。对于所有其他用户也是如此,因为最后 3 个权限将其设置为全局可读和全局可执行。

为什么要在 Linux 中使用组?

假设您有一个多个用户需要访问的目录。但这里的问题是一些用户需要完全的读写访问权限。其他人,您只想能够在那里读取文件,而不是创建它们。

例如,假设我们有五个用户(jeffoliviabrucestaceysamantha)。其中两个用户jeffsamantha是编辑者,需要能够读取和写入目录中的文件。另一方面,用户oliviabrucestacey需要对不同目录的读取权限,以便他们可以读取文件但不能进行更改。

创建您的组和组目录

为此,您需要创建两个组:读者和编辑者。假设您已经创建了用户,那么就该创建组了。我们将使用addgroup命令来完成此操作。

addgroup readers
addgroup editors

您可以通过发出命令less /etc/group来确认已创建组。

接下来,让我们创建两个目录:readereditors。这些命令就能达到目的。

sudo mkdir /READERS
sudo mkdir /EDITORS

完成后,是时候设置目录的访问权限了。您将每个目录分配到适当的组,然后设置权限。

sudo chown -R :readers /READERS
sudo chown -R :editors /EDITORS

这些命令更改每个目录的组所有权。

sudo chmod -R g-w /READERS
sudo chmod -R o-x /READERS

第一个命令中的 g告诉Linux 我们要更改组权限。此命令阻止读者组中的用户写入该目录。第二个命令从该目录的其他命令中删除x位(请注意-x之前的o )。这可以防止非组成员访问其中的任何文件。

执行这些命令后,只有目录的所有者(root)和读者组的成员才能访问/READERS目录中的文件。

接下来,我们将设置/EDITORS目录以允许组编辑器成员进行写访问。除了 root 之外,其他任何人都无法访问这些文件。

sudo chmod -R g+w /EDITORS
sudo chmod -R o-x /EDITORS

请注意,这一次,第一个命令是将w位添加到目录权限中。这将允许组编辑者写入文件。现在,root 将拥有对/EDITORS目录的完全访问权限,编辑组将能够写入其中的文件,并且其他任何人都无法访问这些文件。

在 Linux 中将用户添加到组

到目前为止,这些命令不会完成太多任务。这些组是空的,因此我们需要将用户添加到各自的组中。首先,我们将用户jeffsamantha添加到编辑组。

sudo usermod -a -G editors jeff
sudo usermod -a -G editors samantha

接下来,我们将用户oliviabrucestacey添加到读者组。

sudo usermod -a -G readers olivia
sudo usermod -a -G readers bruce
sudo usermod -a -G readers stacey

这就是在 Linux 中将用户添加到组中的方法。现在我们的用户可以访问他们需要的文件。您可以通过查看/etc/group文件来检查哪些用户是每个组的成员。它看起来应该与此类似。

Linux 中更高级的访问控制

现在,假设您希望编辑组的成员具有对目录/DATA的写入权限。同时,您的编辑需要对该目录具有完全的读/写访问权限。这有点棘手,因为 Linux 一次只允许一个组获得文件或目录的所有权。

幸运的是,有办法。使用访问控制列表 (ACL),您可以向一组授予读取访问权限,而向另一组授予读/写访问权限。以下是如何为读者组的成员提供正确的访问权限。

sudo setfacl -m g:readers:rx -R /DATA

现在,让我们授予编辑者读写权限。

sudo setfacl -m g:editors:rwx -R /DATA

使用访问控制列表还可以做很多事情,但这是一个很好的开始。

多个用户在 Linux 中可以很好地协同工作,但要小心

这演示了如何向多个用户授予对目录的访问权限。但请记住,计算机上的每个用户都可能存在自己的安全风险。设置有关密码强度和安全性的适当策略也很重要。

教育您的用户设置强密码。这些也不必是字母、数字和符号的随机序列。他们还可以使用安全密码,但前提是您的策略允许。您还需要确保每个用户都知道如何更改其密码。

赞(0)
未经允许不得转载:回忆主机 » 如何在Linux中将用户添加到组