提示:文章写完后,目录可以自动生成,如何生成可参考右边的帮助文档
前言
文件系统
文件系统是⼀种用于存储、组织、管理和访问⽂件的技术和数据结构。它在存储设备上定义了如何存储数据和元数据,以及如何检索这些数据。文件系统是操作系统的⼀个核⼼组成部分,它为用户和应用程序提供对⽂件的访问接口,并管理磁盘或其他存储设备上的空间。简而言之:⽂件系统是⼀种在存储设备上有效组织、存储、管理和访问数据的系统,它提供了数据访问的接⼝,并确保数据的完整性和安全性。
常见文件系统类型
- 磁盘⽂件系统: 如NTFS、FAT32、EXT4、HFS+等,这些⽂件系统直接管理物理磁盘的数据。
- ⽹络⽂件系统: 如NFS(Network File System)或CIFS/SMB(Server Message Block),这些系统允许通过⽹络访问远程存储的⽂件。
- 虚拟⽂件系统: 如VFS(Virtual File System)在Linux中,提供⼀个抽象层,允许操作系统以统⼀的⽅式访问不同的具体⽂件系统。
- 数据库⽂件系统: 在这类系统中,⽂件不是以传统的层次⽅式组织,⽽是通过数据库的⽅式进⾏管理,可以优化查询性能。
- 特殊⽬的⽂件系统: 如⽤于CD-ROM的ISO 9660、⽤于临时存储的tmpfs,或⽤于加密的加密⽂件系统。
应用场景
- FAT32:由于其与多个系统的⾼兼容性,适合⽤于移动存储设备。
- NTFS:适⽤于Windows操作系统,特别是需要⾼级特性如⽂件权限管理和加密的环境。
- EXT系列:是Linux系统的标准选择,尤其是EXT4,适⽤于需要⾼可靠性和良好性能的Linux服务和⼯作站。
- XFS:通常⽤于需要处理⼤量数据的应⽤场景,如数据中⼼和科学计算环境,特别是在需要⾼速数据访问和⼤容量存储的情况下。
权限管理
Windows
访问控制表
权限与客体关联,在客体上附加一个主体明细表的方法来表示访问控制矩阵的。
访问能力表
权限与主体关联,为每个用户维护一个表,表示主体可以访问的客体及权限。
Linux
- 使⽤所有者、组和其他(owner, group, and others)的模型来分配权限。
- 每个⽂件都有⼀个所有者和⼀个关联的组。
- 权限被设置为读取、写⼊和执⾏三组位(rwx),分别对应所有者、组和其他⽤户。
- 例如,权限模式 755 表示所有者具有读、写、执⾏权限;组和其他⽤户具有读取和执⾏权
限。
特殊权限
- Set User ID (SUID):当执⾏⽂件时,进程的执⾏⽤户ID被设置为⽂件所有者的⽤户ID。
- Set Group ID (SGID):对于⽂件,当执⾏时,进程的执⾏组ID被设置为⽂件组ID;对于⽬录,创建的任何新⽂件将继承此⽬录的组ID。
- Sticky Bit:在⽬录上设置时,它可以防⽌⽤户删除或重命名他们不拥有的⽂件。
NTFS
NTFS权限可以细分为两⼤类:
- 基本权限:
- 读取:允许查看⽂件或⽬录的内容和属性。
- 写⼊:允许修改⽂件或向⽬录添加⽂件和⼦⽬录。
- 扩展:允许执⾏⽂件或遍历⽬录。
- 修改:包括读取、写⼊和删除⽂件或⽬录。
- 完全控制:允许执⾏所有权限,包括更改权限和拥有权。
- ⾼级权限:
- 完全控制:授予⽤户对⽂件或⽬录的所有权限。
- 修改权限:允许更改⽂件或⽬录的权限设置。
- 删除:允许单独删除⽂件或⽬录。
- 读取和执⾏:结合了读取和执⾏权限,通常⽤于程序和脚本。
- 读取属性/读取扩展属性:允许查看⽂件或⽬录的基本或扩展属性。
- 写⼊属性/写⼊扩展属性:允许修改⽂件或⽬录的基本或扩展属性。
- 列出⽂件夹内容:允许查看⽬录中的⽂件和⼦⽬录列表。
- 遍历⽂件夹/执⾏⽂件:允许穿过⽬录来访问⽂件或⼦⽬录,或执⾏程序。
取得所有权
默认只有administrator有这个权限!作⽤:可以将任何⽂件夹的所有者改为administrator。
权限累加
当⽤户同时属于多个组时,权限是累加的。
权限冲突
在NTFS中,如果同⼀⽂件或⽬录指定了多个权限,"拒绝"权限优先于"允许"权限。例如,如果⽤户同时拥有针对同⼀⽂件的"拒绝写⼊"和"允许写⼊"权限,那么"拒绝"权限将⽣效,⽤户将⽆法写⼊⽂件。
权限继承
NTFS⽀持权限继承,使得⼦⽂件和⼦⽬录可以⾃动继承⽗⽬录的权限。这简化了权限管理,但也要求管理员在设置权限时考虑继承带来的影响。