我正在使用openldap
+nslcd
连接到 LDAP 服务器以对某些用户进行身份验证(这些用户希望他们的密码和大部分配置在许多设备上共享)。我不控制 LDAP 服务器。
但是,同步是在用户已经拥有双帐户之后进行的,因此主文件夹的名称不匹配(由于脚本中可能存在硬编码路径,因此移动它们是不明智的)。我正在考虑一个硬链接目录,但我想知道是否有办法为特定用户覆盖主文件夹,这看起来更干净,听起来应该是一个常见的用例。
我很惊讶nslcd.conf
似乎只接受一个过滤器(每个 map= passwd
),并且map
指令将简单地立即替换所有用户的主页。
有没有办法在 LDAP 查找后优雅地“修复”单个条目?我的搜索大多遇到了替换所有用户模式的答案,或者给出了无用的答案(例如这个简单地覆盖了以前的过滤器的答案)。
我认为我需要什么:
filter passwd (&(objectClass=inetOrgPerson)(<redacted>))
# the last part is wishful thinking, not actual syntax
map passwd homeDirectory "<redacted>" if (uid=<redacted>)
我是 LDAP 的新手,所以我可能不完全理解事务发生的顺序以及应该执行此操作的是 PAM 还是 nslcd。我意识到这不是正确处理这种情况的最佳方法,但我仍然想知道是否可以做到。