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