文件权限
100%

权限 · 第 1 课

文件权限

学习如何读取 Linux 文件类型,以及所有者、组和其他用户的权限位。

Linux 通过类似文件的接口表示许多资源,每个文件系统对象都有控制访问的元数据。学会阅读这些元数据,是安全处理文件和目录的基础。

阅读长列表

使用 ls -l 显示长列表:

$ ls -ld Desktop/
drwxr-xr-x 2 pete penguins 4096 Dec 1 11:45 Desktop/

第一个字段 drwxr-xr-x 由一个文件类型字符和九个权限字符组成。列表还表明 pete 是所有者,penguins 是与该目录关联的组。

第一个字符描述对象类型。常见值包括:

  • - 表示普通文件
  • d 表示目录
  • l 表示符号链接

还有其他特殊文件类型。剩余九个字符是访问权限:

d | rwx | r-x | r-x

drwxr-xr-x 中,第一个 d 表示什么?

理解 `r`、`w` 和 `x`

每个权限三元组使用以下字符:

  • r 授予读取权限。
  • w 授予写入权限。
  • x 授予执行权限。
  • - 表示没有该权限。

对于普通文件,读取允许访问内容,写入允许修改内容,执行允许内核尝试把它作为程序运行。如果文件格式、解释器行、挂载选项或其他安全控制不允许,执行仍可能失败。

对于目录,这些含义针对目录项:

  • 读取允许列出目录中的名称。
  • 写入允许创建或删除目录项,通常还需结合执行权限。
  • 执行也称搜索权限,允许遍历目录并按名称访问目录项。

删除文件主要受父目录权限控制,而不是文件自身的写入位。

目录的执行权限主要允许什么?

所有者、组和其他类别

九个模式字符按固定顺序组成三个三元组:

  1. 所有者:当进程的有效用户 ID 与文件所有者匹配时使用的权限。
  2. :当适用的进程组 ID 与文件组匹配时使用的权限。
  3. 其他:前两个类别都不匹配时使用的权限。

内核会选择一个适用类别,不会组合三个三元组来寻找最宽松的结果。访问控制列表、挂载选项、capabilities 或强制访问控制等其他机制还可能影响最终决策。

在示例中,所有者三元组是 rwx,组和其他都是 r-x。所有者可以读取、写入和搜索目录。组和其他类别可以读取及搜索,但不能通过普通模式位创建或删除目录项。

在文件类型字符之后,三个权限三元组按什么顺序出现?

drwxr-xr-x 中,组类别具有哪些普通权限?

要在隔离环境中巩固这些概念,可以尝试 Linux 用户组和文件权限 实验。它提供读取模式以及更改所有权和权限的练习。

课程已完成

你已完成 文件权限

现在,你可以解释 Linux 长列表中的基本权限字段。

  • 把文件类型字符与九个权限位分开。

  • 根据对象是文件还是目录来解释 rwx

  • 把模式分成所有者、组和其他三元组。

  • 把三元组与 ls -l 显示的所有者和组联系起来。

保存学习进度

创建免费账户即可保存本课进度,并在任意设备上继续学习。

创建免费账户
下一节
返回 权限