第15课:理解文件扩展属性,让属性设置无限灵活

在《第08课:理解文件系统设计思想,站在巨人肩上》一节课中,我们了解到文件通用和固定的属性信息是保存在索引节点中的。为了保持索引节点结构紧凑的同时,能够实现对文件属性的灵活扩展,Linux 内核从 2.6 开始添加了对扩展属性的支持。

在本节课中,我们就来详细了解一下文件的扩展属性,包括它的使用和实现方式,同时还将讨论其在访问控制中的应用,以及其他可能的应用场景,主要包括以下几方面内容:

  • 文件扩展属性概述
  • 操作扩展属性的系统调用
  • 文件扩展属性的实现方式
  • 访问控制列表(ACL)
  • 扩展属性的其他应用
  • 注意事项

15.1 文件扩展属性概述

文件扩展属性的设计目标是允许用户灵活地为文件设置自定义属性。

在 Linux 中,它是以键—值对的形式与文件索引节点(inode)关联起来的,其中键值可以是任意的自定义格式,键名需要符合 namespace.name 的命名规范。

在当前的 Linux 实现中,name 可以是长度不超过 256 字节的任意字符串,而 namespace 可在如下四种中选择,它们具有不同的访问控制规则。

  • user:对于该命名空间下的扩展属性,需要拥有文件的读权限来执行读取,需要写权限来执行属性的修改。
  • trusted:需要特权进程才能存取该命名空间下的扩展属性。
  • system:仅供操作系统内核使用,当前内核中用它实现了访问控制列表 ACL。
  • security
  • 0
    点赞
  • 2
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值