linux文件系统扩展属性
翻译自man手册,水平有限,有错还望不吝指出。。。。
扩展属性是与文件和目录相关的name:value对,用来提供文件系统的一些附加功能,例如ACL。对文件或是目录拥有读权限的用户可以看到其扩展属性。扩展属性所需的空间被计算在文件属主的磁盘配额上。目前在Linux上支持扩展属性的文件系统有:ext2,ext3,ext4,XFS,JFS,reiserfs。
一、扩展属性名称空间
属性名称的格式是namespace.attribute。名称空间是用来定义不同的扩展属性的类。目前有security,system,trusted,user四种扩展属性类。
1、扩展的安全属性
安全属性名称空间被内核用于安全模块,例如SELinux。对安全属性的读和写权限依赖于策略的设定。这策略是由安全模块载入的。如果没有载入安全模块,所有的进程都对安全属性有读权限,写权限只有那些有CAP_SYS_ADMIN的进程才有。
2、扩展的系统属性
扩展的系统属性被内核用来存储系统对象,比如说ACL。对系统属性的读和写权限依赖于策略的设定。
3、受信任的扩展属性
受信任的扩展属性只对那些有CAP_SYS_ADMIN的进程可见和可获得。这个类中的属性被用来在用户空间中保存一些普通进程无法得到的信息。
4、扩展的用户属性
扩展的用户属性被分配给文件和目录用来存储任意的附加信息,比如mime type,字符集或是文件的编码。用户属性的权限由文件权限位来定义。对于普通文件和目录,文件权限位定义文件内容的访问,对于设备文件来说,它们定义对设备的访问。扩展的用户属性只被用于普通的文件和目录,对用户属性的访问被限定于属主和那些对目录有sticky位设置的用户。
二、文件系统的不同
一些系统,比如ext,reiserfs,为了能使用扩展用户属性,要求文件系统挂载时有user_xattr选项。
在ext文件系统中,每一个扩展属性必须占用一个单独的文件系统块,块大小取决于创建文件系统时的设置。
在XFS和reiserfs文件系统中,没有这种限制,每个扩展属性所存储的大小是可变的。
三、用户命令
1、attr:XFS文件系统对象上的扩展属性。用来存储文件的元信息。name最长256个字节,values最大64kb(values可为任意二进制数据)
XFS针对每个对象设置了两个独立的属性名称空间,root和user。root空加只能root访问,其他用户看不到也不能修改。user空间与文件权限有关,所以文件的属主可以决定谁可以查看和修改属性。
attr可以执行四种操作:
GET:-g attrname搜索有某个属性的对象并打印。
LIST:-l 列出对象的所有属性名称和空间大小
REMOVE:-r attrname 从对象上删除某个属性。
SET/CREATE:-s attrname 在对象上设置某个属性,属性值从stdin读入或-V attrvalue。
-R:设在root空间中,而不是user空间中
2、setfattr:设置对象属性(无文件系统限制)
-n name:指定属性名称
-v value:设置属性值。如果value是双引号括起来的,则将其中的字串看做文本,其中的反斜线和双引号需转义。如果是0x或0X开头,则作为十六进制数。若是0s或0S开头,作为base64编码的
-x name:删除属性
-h:如果是符号链接文件,不要follow。
3、getfattr:获取对象属性
-n name:显示指定名称的属性
-d:显示所有属性
-e en:在提取属性之后进行编码,en的值为text,hex和base64
-m pattern:正则表达式匹配的属性显示。默认匹配为'^user\\.',即匹配user名称空间的属性,可以指定为'-'匹配所有属性。
-R:递归显示
注:若setfattr显示“Operation is not support”,则setfattr的-n name需有namespace,例如:setfattr -n user.name
linux文件系统扩展属性的更多相关文章
- chattr lsattr linux file system attributes - linux 文件系统扩展属性
我们使用 linux 文件系统扩展属性,能够对linux文件系统进行进一步保护:从而给文件 赋予一些额外的限制:在有些情况下,能够对我们的系统提供保护: chattr命令用来改变文件属性.这项指令可改 ...
- Linux 文件系统扩展属性【转】
转自:https://blog.csdn.net/ganggexiongqi/article/details/7661024 扩展属性(xattrs)提供了一个机制用来将<键/值>对永久地 ...
- linux文件系统拓展属性
在研究GlusterFS中,发现GlusterFS使用了文件系统的Extended Attributes,中文可以称之为文件系统扩展属性.由于资料比较少,中文资料更少,因此把记录几点Extended ...
- chattr - 修改文件在Linux第二扩展文件系统(E2fs)上的特有属性
SYNOPSIS(总览) chattr [ -RV ] [ -v version ] [ mode ] files... DESCRIPTION(描述) chattr 修改文件在Linux第二扩展文件 ...
- lsattr - 显示文件在Linux第二扩展文件系统上的特有属性
SYNOPSIS(总览) lsattr [ -RVadv ] [ files... ] DESCRIPTION(描述) lsattr 显示文件在Linux第二扩展文件系统上的特有属性 OPTIONS( ...
- Linux文件系统简介一(磁盘分区、开机过程、目录结构、文件权限、文件扩展名、目录管理)
Linux:就是一组软件,一套操作系统=核心+系统呼叫接口层. 1.操作系统 操作系统 = 核心(内核) + 系统呼叫(接口) 操作系统其实也是一组程序,重点在于管理计算机的所有活动以及驱动系统中的所 ...
- Ext4文件系统架构分析(三) ——目录哈希、扩展属性与日志
struct dx_root Htree的内部节点: struct dx_node Htree 树根和节点中都存在的 Hash map: struct dx_entry 1.20 扩展属性EA 扩展属 ...
- linux中suid/sgid/sticky及扩展属性(attr)
suid只适用于命令文件.(如/usr/bin/passwd) 当命令文件上有suid权限时,则操作用户的权限变成属主权限.命令文件上无suid权限则操作用户的权限不变. 查看suid权限: [roo ...
- Linux实战教学笔记08:Linux 文件的属性(上半部分)
第八节 Linux 文件的属性(上半部分) 标签(空格分隔):Linux实战教学笔记 第1章 Linux中的文件 1.1 文件属性概述(ls -lhi) linux里一切皆文件 Linux系统中的文件 ...
随机推荐
- [svc]通过bridge连接单机的多个网络namespace
ip操作物理网卡 参考: http://www.cnblogs.com/iiiiher/p/8056930.html - 查看mac/操作物理网卡 ip link - 查看ip/mac ip a - ...
- docker的swarm介绍
转载自:https://blog.csdn.net/karamos/article/details/80132082 另外一篇:https://www.jianshu.com/p/9eb9995884 ...
- 每日英语:Upgrade Your Life: How to speed up your PC (or Mac)
Is your desktop or laptop computer starting to feel a little poky? Even after just a few months of u ...
- LeetCode: Subsets 解题报告
Subsets Given a set of distinct integers, S, return all possible subsets. Note: Elements in a subset ...
- Android开发(十八)——头部、中部、底部布局技巧
头部.中部.尾部布局涉及到布局内容自适应,总结两个技巧: 第一种相对布局: <?xml version="1.0" encoding="utf-8"?&g ...
- 【iCore4 双核心板_FPGA】例程四:Signal Tapll 实验——逻辑分析仪
实验现象: 三色led轮流闪烁,具体的逻辑分析仪使用教程请参考iCore3逻辑分析仪例程 核心代码: module signal_ctrl( input clk_25m, input rst_n, o ...
- 【iCore1S 双核心板_FPGA】例程十:乘法器实验——乘法器的使用
实验现象: 通过FPGA 的一个I/O 口连接LED:设定I/O 为输出模式.内部乘法器完成乘法计算后改变输出LED 的状态(红色LED 闪烁). 核心代码: module MULT( input C ...
- opencv 基本使用
1.下载opencv库 https://opencv.org/ 下载后文件: 双击提取文件到指定路径: * 下载winpack版本可以省去自己编译的步骤,下载后无需安装双击可以直接提取文件到指定目录: ...
- 安卓程序代写 网上程序代写[原]Android中的回调Callback
回调就是外部设置一个方法给一个对象, 这个对象可以执行外部设置的方法, 通常这个方法是定义在接口中的抽象方法, 外部设置的时候直接设置这个接口对象即可. 1. 如何定义一个回调 a. 定义接口 : 在 ...
- SQL-----------------------之ON和WHERE的区别
SQL中ON和WHERE的区别 数据库在通过连接两张或多张表来返回记录时,都会生成一张中间的临时表,然后再将这张临时表返回给用户.在使用left jion时,on和where条件的区别如下:1. on ...