Linux/Unix 中的文件权限:如何读取、写入和更改?

Linux 是 UNIX 的克隆版本,UNIX 是多用户操作系统,可同时供多个用户访问。Linux 也可以在大型机和服务器上使用,无需任何修改。但这会引发安全问题,因为未经请求或恶意的用户可能会破坏、更改或删除关键数据。为了实现有效的安全,Linux 将授权分为两个级别。

  1. 所有权
  2. 允许

Linux文件的概念 允许所有权 在 Linux 中至关重要。在这里,我们将解释 Linux 权限和所有权,并讨论它们。让我们从 所有权。

点击 点击这里 如果视频无法访问

Linux 文件所有权

Unix/Linux 系统上的每个文件和目录都被分配了 3 种类型的所有者,如下所示。

用户

用户是文件的所有者。默认情况下,创建文件的人成为其所有者。因此,用户有时也称为所有者。

团队

一个用户组可以包含多个用户。属于一个组的所有用户将具有相同的 Linux 组权限来访问该文件。假设您有一个项目,其中许多人需要访问一个文件。您可以将所有用户添加到一个组中,并为文件分配组权限,这样只有该组成员才能读取或修改文件,而其他任何人都不能读取或修改文件,而不是手动为每个用户分配权限。

其他

任何其他有权访问文件的用户。此人既未创建文件,也不属于可以拥有该文件的用户组。实际上,这意味着其他所有人。因此,当您为其他人设置权限时,也称为为所有人设置权限。

现在,最大的问题是 Linux 区分 在这三种用户类型之间建立权限,以便用户“A”无法影响包含其他用户“B”重要信息/数据的文件。这就像你不想让你的同事在你的计算机上工作一样 Linux电脑,查看您的图片。这是 权限 开始,他们定义 用户行为.

让我们了解 权限系统 在Linux上。

Linux 文件权限

UNIX/Linux 系统中的每个文件和目录都为上面讨论的所有 3 个所有者定义了以下 3 个权限。

  • 阅读: 此权限授予您打开和读取文件的权限。目录的读取权限使您能够列出其内容。
  • 写: 写权限赋予您修改文件内容的权限。目录的写权限赋予您添加、删除和重命名目录中存储的文件的权限。考虑这样一种情况:您对文件有写权限,但没有存储文件的目录的写权限。您将能够修改文件内容。但您无法重命名、移动或从目录中删除文件。
  • 执行: In Windows可执行程序通常以“.exe”为扩展名,您可以轻松运行它。在 Unix/Linux 中,除非设置了执行权限,否则您无法运行程序。如果未设置执行权限,您可能仍可以查看/修改程序代码(前提是设置了读写权限),但无法运行它。

Linux 文件权限
Linux/Unix 中的文件权限

让我们通过示例了解 Linux 中的文件权限:

ls – l 在终端上给出

ls - l

Linux 文件权限

在这里,我们强调了 ‘-rw-rw-r-’这个看起来很奇怪的代码告诉我们赋予所有者、用户组和世界的 Unix 权限。

这里,第一个‘' 意味着我们已经选择了一个文件。p>

Linux 文件权限

否则,如果它是一个目录, d 将会被展示。

Linux 文件权限

人物很容易记住。

r =读取权限
w =写入权限
x =执行权限
=没有许可

让我们这样来看这个问题。

代码的第一部分是 ‘rw-’。这意味着‘Home’的所有者可以:

Linux 文件权限

  • 读取文件
  • 写入或编辑文件
  • 由于执行位设置为‘-’,他无法执行该文件。

根据设计,许多 Linux 发行版(如 Fedora、CentOS、 Ubuntu等操作会将用户添加到与用户名同名的组中。因此,用户 'tom' 被添加到名为 'tom' 的组中。

第二部分是 ‘rw-’。 它为用户组‘家庭’和组成员提供以下功能:

  • 读取文件
  • 写入或编辑文件

第三部分是针对世界,也就是任何用户。它说 ‘r--’。 这意味着用户只能:

  • 读取文件

Linux 文件权限

使用“chmod”命令更改 Linux 中的文件/目录权限

假设你不想让你的同事看到你的个人图片。这可以通过更改文件权限来实现。

我们可以使用'修改权限' 命令代表“更改模式”。使用该命令,我们可以为所有者、组和所有人设置文件/目录的权限(读取、写入、执行)。

语法:

chmod permissions filename

有两种方法可以使用 命令

  1. 绝对模式
  2. 符号模式

Linux 中的绝对(数字)模式

在此模式下,文件 权限不是以字符表示,而是以三位八进制数表示.

下表给出了所有权限类型的数字。

联系电话 权限类型 图形符号
0 没有权限 -
1 执行 -X
2 填写 -W-
3 执行 + 写入 -wx
4 阅读 r-
5 读取 + 执行 RX
6 读+写 RW
7 读取 + 写入 + 执行 RWX

让我们看看 chmod 权限命令的实际作用。

Linux 中的绝对(数字)模式

在上面给出的终端窗口中,我们将文件“sample”的权限更改为“764”。

Linux 中的绝对(数字)模式

‘764’ 绝对代码说明如下:

  • 所有者可以读取、写入和执行
  • 用户组有读写权限
  • 世界只能读

显示为 '-rwxrw-r--

这就是如何通过分配绝对数字来更改 Linux 中文件的用户权限。

Linux 中的符号模式

在绝对模式下,您可以更改所有 3 个所有者的权限。在符号模式下,您可以修改特定所有者的权限。它使用数学符号来修改 Unix 文件权限。

Opera器 描述

+

为文件或目录添加权限

删除权限

=

设置权限并覆盖之前设置的权限。

各业主代表如下:

用户指代

u

用户/所有者

g

o

other

a

所有

我们不会使用数字(如 755)作为权限,而是使用字符(如 rwx)。让我们看一个例子

Linux 中的符号模式

在 Linux 中更改所有权和组

要更改文件/目录的所有权,可以使用以下命令:

chown user filename

如果你想更改文件或目录的用户和组,请使用以下命令

chown user:group filename

让我们看看实际效果

在 Linux 中更改所有权和组

如果你只想更改组所有者,请使用命令

chgrp group_name filename

更改组' 代表变更组。

在 Linux 中更改所有权和组

Tips:

  • 文件 /etc/group 包含系统中定义的所有组
  • 您可以使用命令“groups”查找您所属的所有组
  • 在 Linux 中更改所有权和组

  • 您可以使用命令 newgrp 以默认组以外的组成员身份工作
  • 在 Linux 中更改所有权和组

  • 不能有两个组拥有同一个文件。
  • Linux 中没有嵌套组。一个组不能是其他组的子组
  • x- 执行目录意味着被允许“进入”目录并可以访问子目录
  • 您还可以在文件和目录上设置其他权限,这将在后面的高级教程中介绍

概要:

  • Linux 作为多用户系统,使用权限和所有权来保证安全。
  • Linux 系统上有三种用户类型,即用户、组和其他
  • Linux 将文件权限分为读、写、执行,分别用 r、w、x 表示
  • 文件的权限可以通过“chmod”命令更改,该命令可以进一步分为绝对模式和符号模式
  • “chown”命令可以更改文件/目录的所有权。使用以下命令:chown user file 或 chown user:group file
  • ‘chgrp’命令可以更改组所有权 chrgrp 组 文件名
  • x – 执行目录 是什么意思?答:允许“进入”目录并可以访问子目录。