CentOS 7 LDAPauthentication:“权限被拒绝”

我正在运行一个CentOS 7 VirtualBox实例。 我正尝试通过我们的公司Active Directory服务器设置LDAP身份validation。

注意:AD服务器没有安装Unix扩展。

build立:

  • 我已经安装了nss-pam-ldapd
  • nslcd和nscd服务设置为在启动时运行
  • /etc/nsswitch.conf已被编辑以添加ldap:

    passwd: files ldap group: files ldap shadow: files ldap hosts: files ldap dns myhostname ethers: files ldap networks: files ldap protocols: files ldap rpc: files ldap services: files ldap sss aliases: files ldap nisplus 
  • /etc/pam.d/password-auth和/etc/pam.d/system-auth编辑添加:

     auth sufficient pam_ldap.so use_first_pas account [default=bad success=ok user_unknown=ignore] pam_ldap.so password sufficient pam_ldap.so use_authok session optional pam_ldap session required pam_mkhomedir.so skel=/etc/skel umask=0077 
  • /etc/nslcd.conf编辑:

     uid nslcd gid nslcd uri ldap://myserver.com/ base dc=myserver,dc=com binddn CN=My Name,OU=Users,OU=DV,DC=myserver,DC=com bindpw PASSWORDHERE # Alternative mappings for Active Directory pagesize 1000 referrals off idle_timelimit 800 filter passwd (&(objectClass=user)(!(objectClass=computer))) map passwd uid userPrincipalName map passwd uidNumber objectSid:CorrectSID map passwd gidNumber objectSid:CorrectSID map passwd homeDirectory "/home/$cn" map passwd gecos displayName map passwd loginShell "/bin/bash" filter group (objectClass=group) map group gidNumber objectSid:CorrectSID ssl no 

在重新启动虚拟机,并远程login默认用户,我可以列出所有的AD用户([email protected])和组,使用

  $ getent passwd and $ getent group 

但是,如果我尝试login到GUI或使用我的AD用户远程login:

  $ ssh [email protected]@linuxboxip [email protected]@linuxboxip's password: Permission denied, please try again. 

我已经在这个网站的相关问题,通过debugging,并重新configuration新的从头开始。 没有运气。

有什么想法吗?

好的,我发现了这个问题。

请参阅链接

编辑PAM文件时:/etc/pam.d/password-auth和/etc/pam.d/system-auth

编辑必须完成到适当的部分,不只是添加到文件的底部。 特别是, password required pam_deny.sopassword required pam_deny.so必须是该节中的最后一个条目。

我现在可以通过SSH和GUI使用LDAP用户名/密码login。