Linux到Linux的NFS UID更改

我意识到这已经被问到,但不幸的是,我没有足够的经验或足够的时间来继续爬行,虽然search结果的网页山突然出现。 这是configuration新子系统的最后一步,需要尽快启动。 我希望通过从反应中消除的过程,我可以找出发生了什么事情。

NFS共享正在安装在远程盒子上,但正在使用未configuration的UID进行设置。 这是Linux到Linux的NFS,没有什么是在域上,也不是来自Windows / Mac共享的东西。

build立:

  • 资源:

    • Debian 7,源文件的所有者是rdebXXX,UID 1011
    • / etc / exports中:
      /home/rdebXXX/test dev-www(rw,sync,no_subtree_check,anonuid=512,anongid=1003)
    • exportfs -a已经运行
    • 目标服务器可以ping通
    • 没有主机名过滤完成,hosts.allow和hosts.deny是空的
  • 目的地:

    • Debian 8,目标父目录的所有者是signsXXX,UID 512.所以挂载需要拥有相同的所有者。
    • / etc / fstab中:
      xxxx:/home/rdebXXX/test /home/signs/test nfs defaults,bg 0 0
    • xxxx的源服务器可以ping通
    • 安装安装时没有安装错误
    • 挂载的UID是1004,映射到目标服务器上的rdebXXX帐户。 我很确定这是偶然的,因为手动在不同时间创build的方框/帐户。
    • idmapd正在运行,idmap.conf的默认条目为:
      Nobody-User = nobody Nobody-Group = nogroup
  • 笔记
    • 我无法更改目标框的UID。 有多个NFS挂载从多个来源进入一些新的盒子,所以在这些情况下更改UID将不会有帮助,因为UID更改只能修复1个挂载。
    • 我不能更改源代码框,因为正如前面提到的那样,它们是在当前使用的系统中。

任何一个所有的帮助将不胜感激。 我已经尝试了我所知道的并且花费了几个小时的时间,但是NFS可以非常挑剔,它并不总是很容易指出原因。

如果我正确理解了你的话,那么你想要把来自客户端节点的所有请求映射到服务器上的一个特定的UIG / GID。 为此,你必须调整你的出口文件如下:

 /home/rdebXXX/test dev-www(rw,sync,no_subtree_check,anonuid=512,anongid=1003,all_squash) 

all_squash选项告诉服务器将所有请求映射到用户nobody以及您在导出选项中已有的相应UID和GID。