xattr/extended 无法为 /tmp 中的文件设置属性,而在相同安装的 $home 中工作正常
xattr/extended attributes not settable for file in /tmp while in $home on same mount works fine
我正在玩 Linux/Fedora 下的扩展文件属性,目前我遇到了一些问题,因为我无法为 /tmp
中的文件设置 add/change 属性,而在我家工作正常- 而两个路径都在同一个挂载点上,即
/dev/mapper/fedora-root on / type ext4 (rw,relatime,seclabel,data=ordered)
例如,我可以成功地为我的主目录中的文件添加和检索属性,例如,
> setfattr -n user.test.md5 -v 58d8e4cd0e60facf386838cbe8b11767 ~/foo.bar
> getfattr -n user.test.md5 ~/foo.bar
# file: foo.bar
user.test.md5="58d8e4cd0e60facf386838cbe8b11767"
但是,/tmp
.
中的同一文件同样失败
> cp ~/foo.bar /tmp/foo.bar
> setfattr -n user.test.md5 -v 58d8e4cd0e60facf386838cbe8b11767 /tmp/foo.bar
setfattr: /tmp/foo.bar: Operation not supported
我假设,对扩展属性的支持仅取决于安装 'correctly' 且具有 xattr 支持的文件系统。但是,它似乎也依赖于目录(??),我想知道,是什么阻止我在 /tmp 中设置扩展属性以及如何更改它? (这似乎与 SELinux 无关——至少我在审计日志中没有发现任何东西。)
/tmp 不是我天真地假设挂载的那样,而是挂载为 tmpfs,显然不支持扩展属性
tmpfs on /tmp type tmpfs (rw,seclabel)
感谢 twalberg!
tmpfs 如果在内核配置中启用 CONFIG_TMPFS_XATTR
可以支持扩展属性。
从版本 5.9.3 开始,这仅支持 trusted.*
和 security.*
命名空间,因此您的 setfattr -n user.test.md5
命令仍然会失败。
我正在玩 Linux/Fedora 下的扩展文件属性,目前我遇到了一些问题,因为我无法为 /tmp
中的文件设置 add/change 属性,而在我家工作正常- 而两个路径都在同一个挂载点上,即
/dev/mapper/fedora-root on / type ext4 (rw,relatime,seclabel,data=ordered)
例如,我可以成功地为我的主目录中的文件添加和检索属性,例如,
> setfattr -n user.test.md5 -v 58d8e4cd0e60facf386838cbe8b11767 ~/foo.bar
> getfattr -n user.test.md5 ~/foo.bar
# file: foo.bar
user.test.md5="58d8e4cd0e60facf386838cbe8b11767"
但是,/tmp
.
> cp ~/foo.bar /tmp/foo.bar
> setfattr -n user.test.md5 -v 58d8e4cd0e60facf386838cbe8b11767 /tmp/foo.bar
setfattr: /tmp/foo.bar: Operation not supported
我假设,对扩展属性的支持仅取决于安装 'correctly' 且具有 xattr 支持的文件系统。但是,它似乎也依赖于目录(??),我想知道,是什么阻止我在 /tmp 中设置扩展属性以及如何更改它? (这似乎与 SELinux 无关——至少我在审计日志中没有发现任何东西。)
/tmp 不是我天真地假设挂载的那样,而是挂载为 tmpfs,显然不支持扩展属性
tmpfs on /tmp type tmpfs (rw,seclabel)
感谢 twalberg!
tmpfs 如果在内核配置中启用 CONFIG_TMPFS_XATTR
可以支持扩展属性。
从版本 5.9.3 开始,这仅支持 trusted.*
和 security.*
命名空间,因此您的 setfattr -n user.test.md5
命令仍然会失败。