Ubuntu客户端和ldap之间需要同步用户吗?

Ubuntu客户端和ldap之间需要同步用户吗?

我发布了类似的问题超级用户

我正在尝试配置 U​​buntu 以登录 ldap。我遇到了几篇相关的帖子,但我仍然感到困惑:

pam_ldap 如何查找 ldap 用户?我是否必须为 ldap 中的每个用户手动在 /etc/passwd 中创建一个条目?

我之所以询问是因为只要我在 /etc/passwd 文件中有一个与 ldap 中的 uid 相对应的用户名,我似乎就能够针对 ldap 进行身份验证。

例如,user1有一个本地帐户(我用 adduser 创建的)。还有一个 ldap 用户uid=user1,ou=people,dc=mydomain,dc=com。user1 的本地密码与具有相同 uid 的 ldap 的密码不同。我可以使用这两个密码登录。此外,如果我注释掉 common-auth 中的 pam_unix 行,它只会让我使用 ldap 中定义的密码登录。

因此,我非常确定 pam_ldap 可以正常工作。但是,当我尝试使用 ldap 中定义的用户(但在 /etc/passwd 中没有条目)登录时,auth.log 显示“无效用户”。

那么,我肯定是漏掉了一个步骤?有没有办法将 ldap 用户同步到 /etc/passwd?或者也许有一个配置选项,让 pam_ldap 在 ldap 用户首次尝试登录时创建相应的本地帐户?

答案1

您应该nsswitch.conf使用 ldap 模块为密码创建一个条目。用户的密码条目与他们的身份验证机制无关;如果这对您来说是一个好的解决方案,那么将它们都保存在 LDAP 中会很方便。

passwd:      db ldap files

是一个很好的入口。

您还需要确保您的/etc/ldap.conf文件配置正确,尽管默认设置(当然除了基础和主机 ;))可能工作得很好。最后,确保安装了 ldap nss 模块。

答案2

您可能还必须添加一条指令来common-password加载 pam-ldap。pam ldap 模块应该有从 ldap 创建用户的选项。

编辑:用户/homedir 创建实际上是由另一个模块而不是 pam-ldap 负责的。

Debian 在这里有一个非常好的详尽指南:http://wiki.debian.org/LDAP/PAM

看看该页面上 pam_mkhomedir 的用法。

相关内容