![Windows NFS 客户端使用 squash_all 持续在 NFS 服务器上进行只读写入](https://linux22.com/image/662310/Windows%20NFS%20%E5%AE%A2%E6%88%B7%E7%AB%AF%E4%BD%BF%E7%94%A8%20squash_all%20%E6%8C%81%E7%BB%AD%E5%9C%A8%20NFS%20%E6%9C%8D%E5%8A%A1%E5%99%A8%E4%B8%8A%E8%BF%9B%E8%A1%8C%E5%8F%AA%E8%AF%BB%E5%86%99%E5%85%A5.png)
我们有一个 Debian 8,它带有一个导出的 NFS 服务器, "/client-share *(rw,sync,no_subtree_check,all_squash,anonuid=1000,anongid=1000)"
在从 Windows 计算机 NFS 客户端传输文件时工作正常。通常,文件位于 NFS 服务器中,根据配置具有 uid 和 gid 的掩码权限,例如:
"-rw-r--r--".
问题是,如果从 Windows 机器传输的文件被标记为只读(ntfs),图片:
然后它会破坏权限,位于 NFS 服务器上的文件将具有只读权限:
"-r-r--r--".
Windows NFS 客户端属性也配置了正确的 gid/uid。我们尝试使用 setfacl -m "default:group:rwx" /nfs 的 ACL,但还是不行。文件以“只读”方式传输。
我们怎样才能克服这个问题?
答案1
squash_all 与文件权限无关。它仅控制文件所有权。必须有Windows 客户端配置,您可以在其中设置新创建的文件和目录的默认权限。