文件系统和文件权限

17 Mar 2025 | 4 分钟阅读

文件系统是一种通过文件或文件夹集合组织的结构。它决定了对数据的控制,即数据如何存储和检索?

Linux 文件系统是一种由许多目录组成的树状结构。这些目录只是包含其他文件列表的文件。 Linux 不区分文件和目录。 Linux 文件系统中的所有文件都被称为目录,这些文件分类如下

  1. 普通文件,包含数据、文本、图像、程序指令。
  2. 特殊文件,提供对硬件设备的访问。
  3. 目录,包含普通文件和特殊文件。

让我们看一下 Linux 文件系统。

使用 ls -l 命令列出所有文件和目录。

Filesystem and File Permissions

给定图像中有七列,定义如下

  • 第一列表示文件类型和文件权限。每个文件行都以文件类型开始,然后指定与文件关联的访问权限。以下是具有特定字符的文件类型
    1. 常规文件 (-)
    2. 目录 (d)
    3. 链接 (l)
    4. 特殊文件 (c)
    5. 套接字 (s)
    6. 命名管道 (p)
    7. 块设备 (b)
  • 第二列表示内存块的数量。
  • 第三列表示文件所有者或具有管理权限的超级用户。
  • 第四列表示所有者/超级用户的组。
  • 第五列表示文件大小。
  • 第六列表示文件创建或上次修改的日期和时间。
  • 最后一列表示文件或目录的名称。

文件权限

尽管具有最佳的安全功能,但基于 Linux 的操作系统需要文件权限来保护其文件系统,因为当用户为文件和目录分配不正确的权限时,会发生基于文件权限的问题。 这些问题可能导致对文件系统的恶意或意外篡改。 因此,Linux 使用以下两个授权属性来保护其文件系统

1. 权限

与文件关联的有三种类型的权限,如下所示

读取 (r) 权限,通过该权限可以查看文件内容。

写入 (w) 权限,通过该权限可以修改文件内容。

执行 (x) 权限,通过该权限可以运行编程文件或脚本。

注意: 如果权限被调用,则提供破折号 (-)。

2. 所有权

有三种类型的 Linux 用户,如下所示

所有者是创建文件的超级用户。 他可以访问与文件关联的所有权限,包括读取、修改和运行文件。

被称为用户集或多用户。 超级用户创建它。 组中的每个成员都具有与文件关联的相同访问权限。

其他用户,即第三方用户,可以是任何不属于超级用户/组成员的人。 他们使用与超级用户/组成员创建或拥有的任何文件或目录关联的权限。

让我们通过给定的示例来理解这个概念。

Filesystem and File Permissions

查看深色行的第一列。 它有十个槽。

  • 第一个槽 (-) 表示一个名为 aa.sh 的文件
  • 接下来的三个槽 (rw-) 指定分配的所有者使用的权限。 这些权限包括读取和写入。 这里,执行权限被拒绝。
  • 接下来的三个槽 (rw-) 指定拥有该目录的组成员使用的权限。 这些权限包括读取和写入,但不包括执行权限。
  • 接下来的三个槽 (r--) 指定第三方用户使用的权限。 这些权限仅包括读取权限。 这里,读取和写入权限都被拒绝。

更改权限

您可以使用 chmod 命令更改每个类(用户/组/其他人)的文件权限。 删除或添加任何类别的任何权限的基本形式是

其中

class 由指示符 u、g、o 和 a 表示,其中 u 表示用户,g 表示组,o 表示其他,a 表示所有类。

operator(+ 或 -)用于添加或删除权限。

permission 由指示符 r、w、x 表示,以允许访问读取、修改或运行脚本。

让我们更改下面给出的深色 aa.sh 文件的权限

Filesystem and File Permissions

1. 为所有类别添加拒绝的权限。

Filesystem and File Permissions

2. 删除其他类别的写入和执行权限。

Filesystem and File Permissions

因此,如果您发现任何需要,可以更改任何类别的任何权限。