Permissions NFS网络装载:将所有者设置为特定帐户

Permissions NFS网络装载:将所有者设置为特定帐户,permissions,mount,nfs,nas,Permissions,Mount,Nfs,Nas,好吧,我对这些东西感到非常困惑,所以非常希望能有描述性的答案,特别是如果它们能让整个装裱的东西变得不那么神奇,更容易预测的话 我正在尝试使用nfs装载Drobo FS NAS,以获得比使用cifs更好的性能 drobo正在运行一些精简的linux发行版 客户端计算机上的/etc/fstab内部(具有IP:192.168.1.150的Ubuntu) 我已经在drobo上安装了unfsd,并通过ssh进行访问。这是服务器计算机上的导出文件(IP为192.168.1.100的Drobo FS): 挂载

好吧,我对这些东西感到非常困惑,所以非常希望能有描述性的答案,特别是如果它们能让整个装裱的东西变得不那么神奇,更容易预测的话

我正在尝试使用nfs装载Drobo FS NAS,以获得比使用cifs更好的性能

drobo正在运行一些精简的linux发行版

客户端计算机上的/etc/fstab内部(具有IP:192.168.1.150的Ubuntu)

我已经在drobo上安装了unfsd,并通过ssh进行访问。这是服务器计算机上的导出文件(IP为192.168.1.100的Drobo FS):

挂载工作正常,但挂载的文件全部归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是一件很麻烦的事情,我想了解发生了什么,那么我该怎么做才能将它装载到客户机上,并将所有者/组设置为我的帐户而不是根帐户?

这似乎应该适用于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

现在,当您以非根用户身份在NFS客户端上装载目录时,它将与相应的所有者和组一起装载。

装载共享时,主机系统的用户ID(UID)映射到客户端的用户ID(UID)上

在客户端上,映射用户(基于userID)将成为装载的共享的所有者

导致您的问题的原因是主机使用的是其他UID,而不是客户端

您可以通过定义/etc/nfs.map文件来解决此问题:

/etc/nfs.map

这将看起来像:

#远程本地
gid 500 1000#drobo客户
uid 500 2003#drobo客户端

因此,在使用NFS时,您需要确保主机和客户端上的用户之间存在UID/GID匹配。 请同时阅读以下文章:

解决此问题的另一个好方法是查看主机和客户端系统上的UID,方法是查看这两个系统上的
/etc/passwd
文件

或键入:

id tom
将UID更改为:

usermod -u 10000 tom

祝你好运

遗憾的是,这不起作用。它仍在装载,但所有者/组仍设置为root。为什么选项
不安全
此处的帮助…?在默认安装nfs服务器的centos 7 x86_64上无法识别用于设置nfs的map_static<代码>未知关键字“map\u static=/etc/nfs.map”更改UID/GID以使服务器和客户端具有相同的UID/GID号对我来说很有效。
id tom
usermod -u 10000 tom