如何在 Linux 中将用户添加到组中
admin
2023-07-31 14:45:21
0
  • 点击进入:ChatGPT工具插件导航大全
多用户 Linux 服务器或 PC 上的文件访问可能会有点复杂。知道如何创建用户并将其添加到组可以成为救命稻草。就是这样。

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

Linux 文件权限初学者教程

首先,这些例子都是在Linux 发行版 Ubuntu下测试的。不过,无论您运行的是哪种 Linux,它们都应该能够正常工作。

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

File-Permissions-Example-1File-Permissions-Example-1

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

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

为什么我应该在 Linux 中使用组?

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

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

创建您的组和组目录

为此,您需要创建两个组,读者和编辑。假设您已经创建了用户,是时候创建组了。我们将使用addgroup命令来做到这一点。

addgroup readers
addgroup editors

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

Linux-list-group-fileLinux-list-group-file

接下来,让我们创建两个目录,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) 和reader组的成员才能访问/READERS目录中的文件。

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

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

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

在 Linux 中将用户添加到组

到目前为止,这些命令不会完成太多。这些组是空的,所以我们需要将我们的用户添加到他们各自的组中。首先,我们将用户jeffsamantha添加到editors组。

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-add-user-to-groupLinux-list-group-file

Linux 中更高级的访问控制

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

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

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

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

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

使用访问控制列表可以完成更多工作,但这是一个很好的开始。

多个用户在 Linux 中一起玩得很好,但要小心

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

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

相关内容

热门资讯

Windows 11 和 10... Windows 11/10 文件夹属性中缺少共享选项卡 – 已修复 1.检查共享选项卡是否可用 右键...
Radmin VPN Wind... Radmin VPN 是一款免费且用户友好的软件,旨在牢固地连接计算机以创建一个有凝聚力的虚拟专用网...
如何修复 Steam 内容文件... Steam 内容文件锁定是当您的 Steam 文件无法自行更新时出现的错误。解决此问题的最有效方法之...
事件 ID 7034:如何通过... 点击进入:ChatGPT工具插件导航大全 服务控制管理器 (SCM) 负责管理系统上运行的服务的活动...
在 Windows 11 中打... 什么是链路状态电源管理? 您可以在系统控制面板的电源选项中看到链接状态电源管理。它是 PCI Exp...
Hive OS LOLMine... 目前不清退的交易所推荐: 1、全球第二大交易所OKX欧意 国区邀请链接: https://www.m...
在 iCloud 上关闭“查找... 如果您是 Apple 的长期用户,您肯定会遇到过 Find My 应用程序,它本机安装在 iPhon...
farols1.1.501.0... faro ls 1.1.501.0(64bit)可以卸载,是一款无需连接外部PC机或笔记本计算机即可...
如何在 iPhone 14 P... Apple 的 iPhone 14 Pro 是第一款配备 48MP 传感器的 iPhone。所有以前...
balenaEtcher烧录后... balenaEtcher烧录后u盘或者内存卡无法识别不能使用的解决方法想要恢复原来的方法,使用win...