我们安装了 Netgear ReadyNAS 316 来替换损坏的旧款 ReadyNAS Ultra 6,但我们无法像在 Ultra 6 上那样获取权限。
基本上,我们使用 NAS 备份来自我们网络服务器的数 TB 的大型音频文件。Apache 以 www-data 为所有者,以 www-data 为组访问这些文件。我们希望能够将文件从网络服务器 RSync 到 ReadyNAS,并保留所有文件的 www-data 所有者和组。
作为参考,我们使用的 RSync 命令是:
rsync -avr --progress /webfolder/ /media/netgear02/RSyncTest/
我使用以下命令在我们的 Ubuntu 12.04 服务器上安装了 NAS 共享:
mount 192.168.5.10:/Netgear02/media /media/netgear02
但是文件夹(我们的 Ubuntu 服务器)ls -al
中/media
显示权限未正确“读取”(?):
drwxrwxrwx 1 nobody nogroup 494 Jul 17 14:39 netgear02
我在 ReadyNAS 上启用了 SSH,并以 root 身份登录以查看发生了什么,并检查了/Netgear02/media
文件夹的权限,它们是:
drwxrwxrwx+ 1 root root 494 Jul 17 14:39 media
因此,所有者和组实际上是 root,但在安装时它并没有获得“适当的”权限。
在我们的旧 Ultra 6 上,我们所要做的就是添加no_root_squash
并/etc/exports
运行exportfs -ra
,然后我们就离开了,但这似乎对这个新的 OS 6 软件 ReadyNAS 没有影响。
NFS 共享设置中有一个“根访问”复选框,我认为这可以解决这个问题。
当我选中该框并单击应用时,似乎只是将 /etc/exports 修改为以下内容:
"/homes" *(insecure,insecure_locks,root_squash,anongid=99,anonuid=99,no_subtree_check,rw,sync)
"/run/nfs4" *(ro,sync,insecure,insecure_locks,root_squash,anongid=99,anonuid=99,no_subtree_check,fsid=0)
"/run/nfs4/Netgear02" *(ro,sync,insecure,insecure_locks,root_squash,anongid=99,anonuid=99,no_subtree_check,fsid=16368026699721582927)
"/run/nfs4/Netgear02/media" 192.168.5.9(insecure,insecure_locks,no_subtree_check,rw,no_root_squash)
"/Netgear02/media" 192.168.5.9(insecure,insecure_locks,no_subtree_check,rw,no_root_squash)
这些似乎都没有任何效果,我卸载/重新安装了共享,但它仍然以 nobody:nogroup 的形式安装。
抱歉,问题太长了!只是想问问大家有什么想法!
编辑- 忘了说,当我尝试实际 RSync 文件时,无论 nobody:nogroup 如何,我都会收到以下所有这些消息,每个文件一条:
rsync: chown "/media/netgear02/RSyncTest/test.log" failed: Invalid argument (22)
答案1
事实证明,这是由于 NAS 和服务器上的域不同造成的!
hostname -d
在 ReadyNAS 上返回空白,而hostname -d
在 Ubuntu 服务器上返回mshome.net
。
我将其改为:nano /etc/hosts
并更新:127.0.1.1 testserver.mshome.net testserver
到127.0.1.1 testserver
重新启动:shutdown -r now
并且一切都开始按预期工作(我想我可能也重新安装了共享,但不是 100%)!