BTRFS文件系统中ACE权限字符串各字符含义咨询
BTRFS文件系统中ACE权限字符串各字符含义咨询
我来帮你拆解BTRFS里ACE权限字符串中pdDaARWcCo这些额外字符的含义,这些其实是扩展POSIX ACL权限位,对应文件系统的高级操作权限,和基础的rwx是互补的:
各字符具体含义:
- p:
append_data(追加数据)—— 仅针对文件,允许向文件末尾追加内容,无法覆盖现有数据 - d:
delete_child(删除子项)—— 仅针对目录,允许删除该目录下的任意文件或子目录 - D:
delete(删除对象)—— 允许删除文件/目录本身,和delete_child是两个独立的权限 - a:
read_attributes(读取扩展属性)—— 允许读取文件的扩展属性(比如BTRFS的文件标志、xattr等) - A:
write_attributes(写入扩展属性)—— 允许修改文件的扩展属性 - R:
read_acl(读取ACL规则)—— 允许查看该对象的完整ACL权限列表 - W:
write_acl(写入ACL规则)—— 允许添加、修改或删除该对象的ACL规则 - c:
read_default_acl(读取默认ACL)—— 仅针对目录,允许查看目录的默认继承ACL(用于自动应用给新创建的子项) - C:
write_default_acl(写入默认ACL)—— 仅针对目录,允许设置目录的默认继承ACL;你猜测的没错,在BTRFS中这个大写C也关联NODATACOW这类文件系统特定属性的修改权限,对应修改文件的COW(写时复制)行为的操作 - o:
change_owner(修改所有者)—— 允许修改文件/目录的属主或属组
补充说明:
你看到的fd--/fdi-这类后缀是ACE的继承标志位,和你问的权限字符是独立部分,简单来说:
f:file_inherit(文件继承)—— 目录的ACL会被新创建的文件继承d:dir_inherit(目录继承)—— 目录的ACL会被新创建的子目录继承i:inherit_only(仅继承)—— 该ACE规则仅用于继承,不直接作用于当前目录本身
备注:内容来源于stack exchange,提问作者Thorsten Schöning
相关产品推荐
相关产品推荐

