Mat*_*hew 7 permissions mount nfs nas
好吧,我对这些东西感到非常困惑,所以真正的描述性答案会受到赞赏,特别是如果它们使整个装置不那么神奇且更具可预测性.
我正在尝试使用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
Run Code Online (Sandbox Code Playgroud)
我已经在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)
Run Code Online (Sandbox Code Playgroud)
挂载工作正常,但挂载的文件全部由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
Run Code Online (Sandbox Code Playgroud)
在每个命令前写sudo是一个拖累,我想了解发生了什么,所以如何将所有者/组设置为我的帐户而不是根目录,将其挂载到客户端计算机上?
小智 5
挂载共享时,主机系统的userID(UID)映射到客户端的userID(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
Run Code Online (Sandbox Code Playgroud)
用以下内容更改UID:
usermod -u 10000 tom
Run Code Online (Sandbox Code Playgroud)
祝好运!
看起来这应该适用于 Drobo 的导出:
/mnt/DroboFS/Shares 192.168.1.150(rw,all_squash,anonuid=NNN)
Run Code Online (Sandbox Code Playgroud)
其中NNN是您在客户端上的数字用户 ID。
| 归档时间: |
|
| 查看次数: |
35029 次 |
| 最近记录: |