有没有办法忽略或改变选定 Linux 客户端(即工作站)上的 LDAP 主目录?
最终目标:
我正在尝试使用我们的 LDAP 用户数据库,同时将主目录保存在我们工作站的 SSD 上,但将我们的共享主目录安装在同一路径下。
背景:
我正在开发一个异构 HPC 集群 + 工作站环境,它们共享 NFS 和 LDAP。LDAP 配置包括 homeDirectory 属性,该属性在所有机器上都能正确读取,以位于 NFS 共享上(或集群上的 BeeGFS)。
ldap 服务器运行的是 openldap,而工作站运行的是 nscd,并进行了相应的/etc/pam.d/common-password
更改/etc/nsswitch.conf
。此外,我还设置了一个带有 nslcd 的测试工作站,以便通过 更改 homeDirectory 值/etc/nslcd.conf
,如中所述LDAP 用户主目录。
对于集群节点,一切都很顺利,主目录位于共享网络驱动器上(在本例中通过 BeeGFS)。
对于工作站,我想将本地 SSD 用于本地主目录,但仍将集群主目录挂载在其精确路径下,因为许多用户使用绝对路径。我不介意不同的~user
路径$HOME
。
从机器角度来看覆盖 homeDirectory 属性的正确方法是什么?
答案1
如果您使用 SSSD,则有一个override_homedir
选项允许您替换通过 LDAP 提供的值。它支持模板,因此您可以将其设置为诸如/my/new/home/%u
等。
答案2
考虑不要破坏 homeDirectory 并将两者安装在目录中记录的位置。/home 可能在本地磁盘上,然后在其上安装 /home/cluster 或其他任何内容。
如果同一路径在一个框中共享,而在另一个框中不共享,用户可能会感到困惑。如果可以,请在整个网络中保持一致,即哪些整个树(/home /srv /var 等)是挂载共享,哪些是本地共享。