我有一个我在cent os 7 上设置的openldap 服务器。我将它混合以与我的所有其他VM 一起工作,这些VM 从nfs 服务器为他们的/home 安装nfs 安装。
我刚刚发现,如果我创建一个新的 ldap 用户并尝试登录某个 VM,它可以让我登录,但说明它无法创建 /home/user 并且无法对其进行 chngdir。
但我也了解到,如果我首先 ssh user@mynfsserver 它登录,创建适当的 /home/user 然后我可以使用我的 ldapuser ssh 到任何其他 VM,它工作得很好,不再抱怨无法创建该用户在家中的文件夹。
我在每个带有 home.map 文件的 VM 上使用 autofs,它看起来具有正确的权限:
* -fstype=nfs,rw,nosuid,soft 10.10.1.139:/home/&
所以这感觉像是某种权限问题,用户在使用新创建的 ldap 凭据登录 VM 时出错。但是,如果同一用户登录到 10.10.1.139(从其中映射 home 的 nfs 服务器),那么似乎让他们登录到虚拟机而不再出现无法创建 /home/user 错误。
我的 openldap 服务器是否必须以某种方式了解 nfs 服务器?
除了必须先登录到 nfs 服务器的麻烦之外,我可以转到另一个虚拟机,触摸该主文件夹中的文件,然后宾果游戏就在我登录的任何其他虚拟机上。所以它就像 95% 的工作,只是烦人必须首先使用 ldap 用户登录到 nfserver 以使 /home/user 的创建首先在其他 VM 上工作。
新主目录的自动创建由 root 完成,但默认情况下 root 映射到 nfs 挂载上的匿名用户,因此无法在所有 nfs 客户端上创建主目录。添加
no_root_squash
到您/etc/exports
的 nfs 服务器上的线路以禁用此功能并运行sudo exportfs -ra
以使更改生效。因此,根据您的评论,它应该如下所示:这将允许 root 访问所有客户端上挂载的 nfs 文件系统。
然而,这有一些影响。从 exportfs 联机帮助页: