好吧,我对这些东西感到非常困惑,所以真正的描述性答案会受到赞赏,特别是如果它们使整个装置不那么神奇且更具可预测性.
我正在尝试使用nfs安装我的Drobo-FS NAS以获得比使用cif更好的性能.
drobo正在运行一些精简的linux发行版.
在客户端计算机上的/ etc / fstab内部(Ubuntu,IP:192.168.1.150)
# Mount Drobo 192.168.1.100:/mnt/DroboFS/Shares/public /media/drobonfs nfs rw,soft,proto=tcp,users 0 0
我已经在drobo上安装了unssd并通过ssh访问.这是服务器计算机上的导出文件(Drobo-FS,IP 192.168.1.100):
# 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来将其挂载到客户端计算机上?
解决方法
挂载共享时,主机系统的userID(UID)映射到客户端的userID(UID).
在客户端上,映射的用户(基于userID)将成为已安装共享的所有者.
您的问题是由于主机使用其他UID然后使用客户端引起的.
/etc/nfs.map
这看起来像:
#remote local
gid 500 1000 #drobo客户端
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
祝好运!