diff --git a/wiki/operating-system/Linux/基础/Linux 文件管理.md b/wiki/operating-system/Linux/基础/Linux 文件管理.md index abe55b39..52d88e44 100644 --- a/wiki/operating-system/Linux/基础/Linux 文件管理.md +++ b/wiki/operating-system/Linux/基础/Linux 文件管理.md @@ -25,7 +25,6 @@ Linux 文件系统还支持磁盘配额,可以对用户或者组的磁盘空 Linux 文件系统是 Linux 操作系统中重要的组成部分,它提供了一种方便、安全和高效的数据存储和管理机制。 - ## 管理维护 ### 目录操作 @@ -449,71 +448,3 @@ Bzip2 是一款开源的文件压缩工具,使用 Burrows-Wheeler 算法(BWT | -sfx | Create SFX archive | 创建自解压缩可执行文件 | | -t | Type | 指定压缩文件的类型(如 7z、zip、gzip 等) | | -v | Create volumes | 创建多卷压缩文件 | - -## 权限和安全 - -Linux 文件系统的权限和安全主要可以分为**四个部分:常用权限控制、特殊权限控制、隐藏权限控制和 SELinux 权限控制。** - -### 常用权限 - -**Linux 系统中有三种基本的权限:读(r,read)、写(w,write)和执行(x,execute)**。也可以使用数字来表示文件或目录的权限。每个权限用一个数字表示,分别为 4、2 和 1,分别代表读、写和执行权限。通过将这些数字相加,可以得到一个三位数的数字,用于表示用户、组和其他用户的权限。这些权限分别适用于文件和目录。权限可以分为三组,分别为:**用户(u,user),组(g,group)和其他(o,others)**。 - -- 文件权限设置为 -rw-r--r--:`chmod 644 file.txt`、`chmod u=rw,g=r,o=r file.txt` -- 文件所有者设置执行权限:`chmod u+x file.txt` -- 文件所有组去除写入和执行权限:`chmod g-wx file.txt` -- 文件其他用户设置只读权限:`chmod o=r file.txt` - -*注意:chmod `+` 表示添加权限,`-` 表示删除权限,`=` 表示设置权限。* - -```shell -drwxr-xr-x 1 root root 4096 Dec 10 03:15 boot - -这是一个目录(d开头),权限为rwxr-xr-x,所有者为root,所属组也为root,大小为4096字节,创建时间为12月10日 03:15。 - -所有者(root)具有读、写和执行权限(rwx) -所属组(root)和其他用户具有读和执行权限(r-x) -总的来说,这个目录的权限是755(rwxr-xr-x),所有者有最高的权限,可以对目录进行任何操作,而组和其他用户只有读和执行权限。 -``` - -| 权限 | 数字 | 文件权限 | 目录权限 | -| -------- | ---- | -------------------------------- | -------------------------------------- | -| 读(r) | 4 | 允许用户读取文件内容 | 允许用户查看目录内容 | -| 写(w) | 2 | 允许用户修改文件内容 | 允许用户在目录中创建、删除和重命名文件 | -| 执行 (x) | 1 | 允许用户执行文件(如程序或脚本) | 允许用户进入目录 | - -### 特殊权限 - -Linux 系统中,特殊权限是指那些不同于常规文件和目录权限(读、写、执行)的权限。这些特殊权限有助于控制用户或进程在访问或操作文件时所拥有的权限。 - -- 文件设置粘滞位:`chmod o+t` -- 文件取消粘滞位:`chmod o-t` - -| 特殊权限 | 示例 | 描述 | -| ------------------- | ----------- | ------------------------------------------------------------ | -| Setuid (suid) | `chmod u+s` | 当文件具有 setuid 权限时,任何用户在执行该文件时都将获得文件所有者的权限。 | -| Setgid (sgid) | `chmod g+s` | 当文件具有 setgid 权限时,用户可以以文件所属组的权限执行文件。对于目录,具有 setgid 权限的目录下创建的文件和子目录自动继承该目录的组。 | -| 粘滞位 (Sticky Bit) | `chmod o+t` | 当为目录设置粘滞位时,只有文件所有者和 root 用户可以删除或重命名该目录中的文件。 | - -### 隐藏权限 - -Linux 系统中,隐藏权限通常指那些不容易被用户发现的权限。这些权限可以通过 `chattr` 命令设置,并使用 `lsattr` 命令查看。隐藏权限有助于保护文件免受意外删除或修改,从而增强 Linux 系统的安全性。 - -- 文件设置不可修改(i)权限:`chattr +i example.txt` -- 文件取消不可修改(i)权限:`chattr -i example.txt` -- 查看文件的隐藏权限:`lsattr example.txt` - -| 隐藏权限 | chattr 参数 | 作用 | -| ------------------ | ----------- | -------------------------------------------------------- | -| Immutable | i | 无法修改文件,目录中子文件内容可修改,不能新建或删除文件 | -| Append only | a | 仅允许追加内容,无法覆盖/删除内容 | -| Sync | S | 文件内容变更后立即同步到硬盘 | -| Secure deletion | s | 彻底删除,不可恢复(用 0 填充原文件所在硬盘区域) | -| No update of atime | A | 不再修改文件或目录的最后访问时间 | -| No update of btime | b | 不再修改文件或目录的存取时间 | -| Error checking | D | 检查压缩文件中的错误 | -| No dump | d | 使用 dump 命令备份时忽略本文件/目录 | -| Compression | c | 默认将文件或目录进行压缩 | -| Undeletion | u | 删除后保留在硬盘中的数据,方便恢复 | -| Tail-merging | t | 让文件系统支持尾部合并 | -| Direct access | x | 可以直接访问压缩文件中的内容 | - diff --git a/wiki/operating-system/Linux/进阶/Linux 文件系统.md b/wiki/operating-system/Linux/进阶/Linux 文件系统.md index 5890be72..296b4ea3 100644 --- a/wiki/operating-system/Linux/进阶/Linux 文件系统.md +++ b/wiki/operating-system/Linux/进阶/Linux 文件系统.md @@ -570,6 +570,73 @@ sysstat 的主要功能包括: 总之,sysstat 提供了一系列强大的性能监控工具和报告,可以帮助用户深入了解系统的性能状况,并及时识别并解决性能瓶颈,从而提高系统的稳定性和可靠性。 +## 权限和安全 + +Linux 文件系统的权限和安全主要可以分为**四个部分:常用权限控制、特殊权限控制、隐藏权限控制和 SELinux 权限控制。** + +### 常用权限 + +**Linux 系统中有三种基本的权限:读(r,read)、写(w,write)和执行(x,execute)**。也可以使用数字来表示文件或目录的权限。每个权限用一个数字表示,分别为 4、2 和 1,分别代表读、写和执行权限。通过将这些数字相加,可以得到一个三位数的数字,用于表示用户、组和其他用户的权限。这些权限分别适用于文件和目录。权限可以分为三组,分别为:**用户(u,user),组(g,group)和其他(o,others)**。 + +- 文件权限设置为 -rw-r--r--:`chmod 644 file.txt`、`chmod u=rw,g=r,o=r file.txt` +- 文件所有者设置执行权限:`chmod u+x file.txt` +- 文件所有组去除写入和执行权限:`chmod g-wx file.txt` +- 文件其他用户设置只读权限:`chmod o=r file.txt` + +*注意:chmod `+` 表示添加权限,`-` 表示删除权限,`=` 表示设置权限。* + +```shell +drwxr-xr-x 1 root root 4096 Dec 10 03:15 boot + +这是一个目录(d开头),权限为rwxr-xr-x,所有者为root,所属组也为root,大小为4096字节,创建时间为12月10日 03:15。 + +所有者(root)具有读、写和执行权限(rwx) +所属组(root)和其他用户具有读和执行权限(r-x) +总的来说,这个目录的权限是755(rwxr-xr-x),所有者有最高的权限,可以对目录进行任何操作,而组和其他用户只有读和执行权限。 +``` + +| 权限 | 数字 | 文件权限 | 目录权限 | +| -------- | ---- | -------------------------------- | -------------------------------------- | +| 读(r) | 4 | 允许用户读取文件内容 | 允许用户查看目录内容 | +| 写(w) | 2 | 允许用户修改文件内容 | 允许用户在目录中创建、删除和重命名文件 | +| 执行 (x) | 1 | 允许用户执行文件(如程序或脚本) | 允许用户进入目录 | + +### 特殊权限 + +Linux 系统中,特殊权限是指那些不同于常规文件和目录权限(读、写、执行)的权限。这些特殊权限有助于控制用户或进程在访问或操作文件时所拥有的权限。 + +- 文件设置粘滞位:`chmod o+t` +- 文件取消粘滞位:`chmod o-t` + +| 特殊权限 | 示例 | 描述 | +| ------------------- | ----------- | ------------------------------------------------------------ | +| Setuid (suid) | `chmod u+s` | 当文件具有 setuid 权限时,任何用户在执行该文件时都将获得文件所有者的权限。 | +| Setgid (sgid) | `chmod g+s` | 当文件具有 setgid 权限时,用户可以以文件所属组的权限执行文件。对于目录,具有 setgid 权限的目录下创建的文件和子目录自动继承该目录的组。 | +| 粘滞位 (Sticky Bit) | `chmod o+t` | 当为目录设置粘滞位时,只有文件所有者和 root 用户可以删除或重命名该目录中的文件。 | + +### 隐藏权限 + +Linux 系统中,隐藏权限通常指那些不容易被用户发现的权限。这些权限可以通过 `chattr` 命令设置,并使用 `lsattr` 命令查看。隐藏权限有助于保护文件免受意外删除或修改,从而增强 Linux 系统的安全性。 + +- 文件设置不可修改(i)权限:`chattr +i example.txt` +- 文件取消不可修改(i)权限:`chattr -i example.txt` +- 查看文件的隐藏权限:`lsattr example.txt` + +| 隐藏权限 | chattr 参数 | 作用 | +| ------------------ | ----------- | -------------------------------------------------------- | +| Immutable | i | 无法修改文件,目录中子文件内容可修改,不能新建或删除文件 | +| Append only | a | 仅允许追加内容,无法覆盖/删除内容 | +| Sync | S | 文件内容变更后立即同步到硬盘 | +| Secure deletion | s | 彻底删除,不可恢复(用 0 填充原文件所在硬盘区域) | +| No update of atime | A | 不再修改文件或目录的最后访问时间 | +| No update of btime | b | 不再修改文件或目录的存取时间 | +| Error checking | D | 检查压缩文件中的错误 | +| No dump | d | 使用 dump 命令备份时忽略本文件/目录 | +| Compression | c | 默认将文件或目录进行压缩 | +| Undeletion | u | 删除后保留在硬盘中的数据,方便恢复 | +| Tail-merging | t | 让文件系统支持尾部合并 | +| Direct access | x | 可以直接访问压缩文件中的内容 | + ## 系统分区 系统分区(system partition)是指计算机中用于存放操作系统和操作系统所需的系统文件和程序的分区,也称为根分区(root partition)。在计算机中,系统分区是最基本的分区之一,是计算机系统正常运行的核心部分。