CentOS 7 LDAP 身份验证:“权限被拒绝”

CentOS 7 LDAP 身份验证:“权限被拒绝”

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

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

设置:

  • 我已经安装了 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
    

重新启动虚拟机并使用默认用户进行远程操作后,我可以列出所有 AD 用户([电子邮件保护])和组,使用

    $ getent passwd
    and
    $ getent group

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

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

我已经查看过此网站上的相关问题,进行了调试,并从头开始重新配置。但还是不行。

有什么想法吗?

答案1

好的,我找到问题了。

关联

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

编辑必须针对相应的部分进行,而不能仅仅添加到文件底部。特别是,这些password required pam_deny.so行必须是该部分的最后一项。

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

相关内容