27、Linux 文件扩展属性与目录操作详解

Linux 文件扩展属性与目录操作详解

1. 用户命名空间与扩展属性概述

用户命名空间是常规进程使用的标准命名空间,内核通过普通文件权限位来控制对该命名空间的访问。要从现有键中读取值,进程必须对给定文件具有读取权限;要创建新键或将值写入现有键,进程必须对给定文件具有写入权限。在用户命名空间中,扩展属性只能分配给常规文件,不能分配给符号链接或设备文件。

1.1 扩展属性操作

POSIX 定义了应用程序可对给定文件的扩展属性执行的四种操作:
1. 给定一个文件,返回该文件所有已分配扩展属性键的列表。
2. 给定一个文件和一个键,返回相应的值。
3. 给定一个文件、一个键和一个值,将该值分配给该键。
4. 给定一个文件和一个键,从该文件中移除该扩展属性。

对于每种操作,POSIX 提供了三种系统调用:
1. 对给定路径名进行操作的版本;如果路径引用符号链接,则对链接的目标进行操作(通常行为)。
2. 对给定路径名进行操作的版本;如果路径引用符号链接,则对链接本身进行操作(系统调用的标准 l 变体)。
3. 对文件描述符进行操作的版本(系统调用的标准 f 变体)。

1.2 扩展属性操作的系统调用组合

操作 路径名操作(常规) 路径名操作(符号链接) 文件描述符操作
检索扩展属性 getxatt
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值