这里的文件系统扩展属性,不是我们常说的lsattr命令和chattr命令中文件操作的属性。这里的扩展属性是完全自定义的。扩展属性的支持,不同文件系统对其支持程度不同。某些系统对于文件关联的扩展属性的数量和大小还有更为严格的限制。
原文链接:https://www.linuxcool.com/getfattr

CentOS 7中搭建NFS文件共享存储服务的完整步骤

setfattr

setfattr -n "user.name" -v "lfdou" file.txt
> -n user为命名空间、name为user命名空间下的值
> -v 为这个name属性的具体描述
> file.txt 为需要设置的文件名

setfattr -n user.file.conf.name.cn -v

getfattr

-n 得到命名扩展属性值 
-d 获得所有扩展属性值 
-e<编码> 编码值(为文本、十六进制或base64编码) 
-h 不引用符号链接 
-R 递归到子目录 
-m<模式> 包括名称匹配正则表达式模式的属性 
查看/root/linuxcool.cfg文件的扩展属性值: 
[root@linuxcool ~]# getfattr -d -m /root/linuxcool.cfg  

getfattr -n user.file.conf.name.cn -d ./*

setfacl

setfacl -m “g:文件密级对应的数(999999998):— “ 文件名

getfacl

获取密级
getfacl -Pps alert_config.sql | grep -E “^group:[0-9]{9,9}:—$” | awk -F’:’ ‘{print $2}’

区别

setfattr和setfacl都是Linux系统下的文件权限管理命令。setfattr用于设置文件的扩展属性,而setfacl用于设置文件的访问控制列表(ACL)。两者的主要区别在于,setfattr用于设置文件的额外属性,而setfacl用于设置文件的访问权限。