我有一个 NFS_Server - NFS_Client 系统。 我的客户端已挂载到NFS_Server 目录。 我想使用扩展文件属性(xattr)通过NFS_Client挂载目录更改NFS_Server目录文件的属性。
当我尝试从客户端设置属性时,它给出以下答案:
root @ ubuntu:/ mnt / nfs / var / nfs#setfattr -n user.comment -v "some comment" test.txt
setfattr: nfs.txt:
权限被拒绝
我的问题是:
是否可以通过NFS使用扩展文件属性?
如果可能,我该怎么做?
更新
服务器端:
$ more /etc/exports file has:
/var/nfs 192.168.56.123(rw,sync,no_subtree_check)
客户方:
$ root@ubuntu:/# mount -t nfs
192.168.56.130:/var/nfs on /mnt/nfs/var/nfs type nfs (rw,vers=4,addr=192.168.56.130,clientaddr=192.168.56.123)
谢谢......
答案 0 :(得分:6)
您可以使用fuse_xattrs(融合文件系统层)来模拟NFS共享上的扩展属性(xattrs)。基本上你必须这样做:
/mnt/shared_data
$ fuse_xattrs /mnt/shared_data /mnt/shared_data_with_xattrs
现在/mnt/shared_data
上的所有文件都可以通过支持xattrs的/mnt/shared_data_with_xattrs
访问。扩展属性将存储在sidecar文件中。扩展属性不会作为扩展属性存储在服务器文件系统中,它们将存储在sidecar文件中。
可悲的是,这只是一种解决方法。
免责声明:我是fuse_xattrs的作者。答案 1 :(得分:4)
(这篇文章很旧,但在查找此功能时我遇到过这篇文章,它并不代表当前状态。)
正如其他人所提到的,NFS中不支持扩展属性。但是,在有proposed standard (RFC 8276)的情况下,人们对此非常感兴趣。
答案 2 :(得分:1)
nfs不支持扩展属性。在nfs内核模块中没有用户属性的处理程序。有关更多信息,请阅读nfsv4的RFC。
答案 3 :(得分:0)
Linux 5.9 中的 NFS 代码终于提供了对用户扩展属性(用户 xattrs)的支持。
Linux 5.9 的 NFS 服务器更新支持 NFS 上的用户扩展属性。这是通过 IETF 的 RFC 8276 概述的功能,用于处理 NFSv4 中的文件系统扩展属性。 “此功能允许使用 NFSv4 客户端查询和操作扩展属性(以下也称为 xattrs)。Xattrs 由文件系统提供,用于将不由文件系统解释的不透明元数据与文件和目录相关联。这种支持是存在于许多现代本地文件系统中。提供了新的文件属性以允许客户端查询服务器以获取 xattr 支持,该支持包括在文件系统对象上获取和设置 xattr 的新操作。"
来源:https://www.phoronix.com/scan.php?page=news_item&px=Linux-5.9-NFS-Server-User-Xattr