Centos 6 Linux和nss-pam-ldapd

我想获得centos 6对ldap进行身份validation(活动目录是特定的)我有点困惑,虽然因为安装nss-pam-ldapd后,我看到几个文件似乎是相同的configuration。 例如我有/etc/pam_ldap.conf和/etc/nslcd.conf。 这两个文件似乎都有相同的configuration选项。 似乎没有工作。 任何指导将不胜感激。

确保你:
    1. yum删除sssd
    2. yum安装openldap-clients nss-pam-ldapd
    3.运行Authconfig
    4.检查你的/etc/openldap/ldap.conf
            - 检查你指向的有效的certfile
    5.检查你的/etc/nslcd.conf
            - 确认ssl start_tls
            - 确认certfile指向一个有效的文件

这里是一个authconfig行的例子:

 authconfig --enableldap --enableldapauth \
    --ldapserver = ldap://ldap.example.com/,ldap://ldap2.example.com/ \
    --ldapbasedn = dc = example,dc = com --update

然后确保:
 /etc/openldap/ldap.conf中
 TLS_CACERT /etc/pki/tls/certs/ca-bundle.crt
 TLS_REQCERT需求


在/etc/nslcd.conf中:
 ssl start_tls
 tls_cacertfile /etc/pki/tls/certs/ca-bundle.crt
 tls_reqcert永远不会

所以你得到的证书不是一个空目录。

虽然这个问题已经得到解答,但有几件事值得注意:

  • 需要注意的是,不需要禁用sssd,因为它可以连接到活动目录 。
  • 您也可以使用authconfig启用TLS和其他所有function。

因此,要连接到LDAP,您将:

  • 安装pam_ldap,nss-pamd-ldapd和sssd(使用yum来满足依赖关系)并启用sssd
  • 将证书文件复制到/ etc / openldap / cacerts

然后在一个镜头,运行这个:

authconfig --enablesssd --enableldap --enableldaptls --ldapserver=ldap.example.com --ldapbasedn=dc=example,dc=com --enableldapauth --update 

(authconfig会自动拿起驻留在/ etc / openldap / cacerts中的证书)

我可以确认这些步骤应该工作。

如果不使用TLS,那么“ssl yes”也可以

必须安装这些软件包,花费我很多时间在Redhat 6上找出所有这些必需的软件包nss-pam-ldapd pam_ldap openldap openldap-clients

山姆

我基本上得到了这个工作(除了明文发送密码,我打算解决这个问题),所以我想我会分享我做的。

我使用yum安装了nss-pam-ldap软件包。 我编辑了pam_ldap.conf和nslcd.conf来反映我的环境。 然后我运行authconfig-tui尽我所能地回答了问题。 我没有打开tls或ssl,只是想看看事情是否有效。 我运行“/etc/init.d/nslcd restart”,然后我可以su到ldap用户以及通过sshlogin。 然后,当我打开ssl / tls它停止工作。 所以我看着使用TCP转储和grep-ed,发现我的密码被发送明文。 所以它的工作原理,但我仍然需要得到ssl / tls的工作。 我会ldap客户端会发送密码已经哈希,但我猜不是。 在将密码发送到ldap之前,也许有办法告诉它使用什么密码。

任何方式,我希望这可以帮助别人解决这个问题。 谢谢