为什么 getfattr 对设置了扩展属性位的文件不显示任何内容?

为什么 getfattr 对设置了扩展属性位的文件不显示任何内容?

我在 CentOS 6.2 上安装了 Nagios XI,想修改备份脚本。我注意到这个 shell 脚本设置了扩展属性位,所以我想确保在对其进行更改时不会弄乱任何东西。我试验后发现“cp -p”不会保留此设置(请参阅评论以了解更新)。我是 Linux 上扩展属性的新手,发现有一个命令“getfattr”应该显示扩展属性,但它没有显示此文件的任何内容。

cd /usr/local/nagiosxi/scripts
ll backup_xi.sh
-rwxr-x---.  1 nagios nagios   2757 Jul  3 10:03 backup_xi.sh*

# nothing is displayed by 'getfattr':
getfattr -d backup_xi.sh

# and nothing special seems to be present according to 'getfacl':
getfacl backup_xi.sh
# file: backup_xi.sh
# owner: nagios
# group: nagios
user::rwx
group::r-x
other::---

最终,我的目标是修改文件,同时保留原始产品安装期间设置的任何属性。设置扩展属性位有什么原因吗,即使根据 getfattr 显然不存在任何属性?

答案1

security.selinux默认情况下,不显示扩展属性;getfattr您必须明确请求它。

$ getfattr -d Work
$ getfattr -n security.selinux Work
# file: Work
security.selinux="unconfined_u:object_r:user_home_t:s0"

相关内容