好吧,我对这些东西感到很困惑,因此,真正的描述性答案将不胜感激,尤其是当它们使整个装裱的东西变得不可思议且更可预测时。
我正在尝试通过nfs来安装Drobo-FS NAS,以获得比使用cif更好的性能。
drobo正在运行一些精简的Linux发行版。
在客户端计算机上的/ etc / fstab内部(IP地址为192.168.1.150的Ubuntu)
# Mount Drobo
192.168.1.100:/mnt/DroboFS/Shares/public /media/drobonfs nfs rw,soft,proto=tcp,users 0 0
我在drobo上安装了unfsd,并可以通过ssh访问。这是服务器计算机(IP地址为192.168.1.100的Drobo-FS)上的导出文件:
# Allow access for client machine
/mnt/DroboFS/Shares 192.168.1.150(rw,no_root_squash)
安装工作正常,除了已安装的文件全部由root拥有,并且大多数文件权限设置为744。客户端上的安装中显示的文件权限与服务器上的实际权限匹配。例如:
client$ sudo chmod 123 /media/drobonfs/somefile
client$ ls -l /media/drobonfs/somefile
---x-w--wx 1 root root 0 2012-01-04 14:15 /media/drobonfs/somefile
drobo$ ls -l /mnt/DroboFS/Shares/public/somefile
---x-w--wx 1 root root 0 Jan 4 14:15 /mnt/DroboFS/Shares/public/somefile
在每条命令前写sudo都是一次阻力,我想了解发生了什么,所以我该怎么做才能将其所有者/组设置为我的帐户而不是root挂载到客户端计算机上?
安装共享时,主机系统的用户ID(UID)映射到客户端的用户ID(UID)。
在客户端上,映射的用户(基于userID)将成为已安装共享的所有者。
您的问题是由于主机使用的是其他UID,然后是客户端,所以引起的。
您可以通过定义/etc/nfs.map文件来解决此问题:
/etc/nfs.map
外观如下:
# remote local
gid 500 1000 # drobo client
uid 500 2003 # drobo client
因此,使用NFS时,需要确保主机和客户端上的用户之间存在UID / GID匹配。请同时阅读以下文章:http://www.kernelcrash.com/blog/nfs-uidgid-mapping/2007/09/10/
解决此问题的另一种好方法是通过在两个系统上都查看此/etc/passwd
文件来查看主机和客户端系统上的UID。
或通过键入:
id tom
更改UID为:
usermod -u 10000 tom
祝你好运!
似乎在Drobo上的导出中应该可以使用这种方法:
/mnt/DroboFS/Shares 192.168.1.150(rw,all_squash,anonuid=NNN)
其中NNN
是您在客户端上的数字用户ID。
将/ etc / exports更改为:
/mnt/DroboFS/Shares 192.168.1.150(rw,insecure)
然后在NFS服务器上,运行:
$ sudo exportfs -a
现在,当您以非root用户身份在NFS客户端上挂载目录时,它将以适当的所有者和组挂载。