jenkins@hostname:~/dir1/dir2$ ls -ld /some-nfs
drwxrwxrwx 121 171 146 6290 Feb 8 15:38 /some-nfs
jenkins@hostname:~/dir1/dir2$ ls -ld /some-nfs/important-dir
drwxrwxrwx 3 jenkins jenkins 28 Feb 8 15:39 /some-nfs/important-dir
jenkins@hostname:~/dir1/dir2$ mkdir /some-nfs/important-dir/important-dir/logs # able to create a dir
jenkins@hostname:~/dir1/dir2$ ls -ld /some-nfs/important-dir/logs
drwxrwxr-x 2 jenkins jenkins 0 Feb 8 15:39 /some-nfs/important-dir/logs
jenkins@hostname:~/dir1/dir2$ touch /some-nfs/important-dir/logs/file # not able to create a file
touch: cannot touch ‘/some-nfs/important-dir/logs/file’: Permission denied
为什么我得到没有权限在最后一步?
我希望能够创建该文件。
答案1
NFS 默认会将使用 root 权限创建的任何文件降级为 nobody:nogroup 用户:组。
这是一项安全功能,除非特别请求,否则可以防止特权共享。
您可能想要在 nfs 服务器的 /etc/exports 文件中启用“no_root_squash”选项。
有一篇非常好的文章我建议您先阅读有关 root_squash 的信息,然后再决定它是否是适合您的正确解决方案。