忽略或更改 Linux 系统上的 LDAP 主目录

忽略或更改 Linux 系统上的 LDAP 主目录

有没有办法忽略或改变选定 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 等)是挂载共享,哪些是本地共享。

相关内容