实现以下目标的最明显方法是:该站点有一个有效的 AD 基础设施,并且该基础设施的某些部分是紧密耦合的 GNU/Linux 机器,来自 AD OU 的人ou=linux-users,dc=example,dc=com
应该能够使用他们的登录到基础设施的 Linux 部分AD 凭证,但不使用 Linux 机器的 PAM 堆栈中的 DC,即应该有某种同步以及从 AD 到 slapd 的 POSIX 属性(uid、gid、homedir、密码)的增强。linux 机器上的 slapd 是 OpenLDAP,AD 的架构来自 Windows 2003,没有 POSIX 属性。
您不希望 PAM 堆栈中的 AD 服务器有什么特殊原因吗?此处最好的解决方案是将 POSIX/RFC2307 属性添加到您的 AD 用户,并将 pam_ldap/nss_ldap(或 nss_ldapd)指向 AD 服务器。
如果您有阻止您直接查询 AD 的网络安全/负载问题,您可以使用 OpenLDAP 的代理/缓存功能或部署有限的 AD 从站来为 Linux 主机提供服务。
我建议不要使用“增强”帐户——它可以通过一些非常肮脏的黑客来完成,但根据我的经验,它太脆弱,无法信任生产环境。它还打破了“一个权威来源”范式:如果 AD 是您的权威帐户存储,则应在其中添加和管理 POSIX 属性。
Ldap 同步连接器 (LSC)可用于设置从 AD 到 OpenLDAP 服务器的连续同步,同时添加您喜欢的额外属性。
但是,这不会直接允许使用 AD 的凭据,除非您设置 OpenLDAP 以将 BIND 请求转发到 AD 服务器……但是您依赖于可用的 AD 基础设施。
依靠 AD 中的凭据很困难,因为您要么需要在其他地方以明文形式拥有凭据,要么依赖使用 AD 进行绑定,或者设置密码同步。查看Active Directory 密码同步选项。
该页面上未描述的一个选项是从 AD 服务器导出散列密码列表,但这是一次性操作,而不是连续同步。