目前使用 winbind,但希望切换到 pam_ldap。
pam_ldap 是否有能力像 winbind 那样动态获取 uid(从数字池中)并在使用过程中将其缓存在本地?
文档中没有提到这种能力,但为 ldap 存储库中的每个用户添加 unix uid/gid 属性并不可取(因为它是 AD,而且主要是 Windows 用户)
答案1
您正在寻找的是“nscd”(名称服务器缓存守护进程),它是 glibc 树源的一部分,也是大多数系统的标准部分。在许多情况下,您需要做的就是安装软件包并启动守护进程,它已预先配置为缓存所有内容并与 pam_ldap 配合使用。在 Red Hat/CentOS 系统上,您可以运行“authconfig”,然后会看到一个复选框选项可以为您完成所有操作 - 启用 LDAP 和缓存,它将写入您的配置。
现在,对于您的动态 uid/gid 概念,我认为您正在寻找的是 pam_ldap 选项“pam_login_attribute”(默认值:uid)和“pam_member_attribute”,也可能是“pam_filter”。如果您需要调整,“pam_login_attribute”可以控制根据其登录名进行查找。