我正在运行一个CentOS 7 VirtualBox实例。 我正尝试通过我们的公司Active Directory服务器设置LDAP身份validation。
注意:AD服务器没有安装Unix扩展。
build立:
/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.so的password required pam_deny.so必须是该节中的最后一个条目。
我现在可以通过SSH和GUI使用LDAP用户名/密码login。