Active-Directory

CentOS 7 LDAP 身份驗證:“權限被拒絕”

  • February 17, 2017

我正在執行一個 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

在重新啟動 VM 並使用預設使用者進行遠端處理時,我可以列出所有 AD 使用者 (user@myserver.com) 和組,使用

   $ getent passwd
   and
   $ getent group

但是,如果我嘗試使用我的 AD 使用者登錄 GUI 或遠端登錄:

   $ ssh my.name@myserver.com@linuxboxip
   my.name@myserver.com@linuxboxip's password:
   Permission denied, please try again.

我已經通過調試解決了這個站點上的相關問題,並從頭開始重新配置。沒運氣。

有什麼想法嗎?

好的,我發現了問題。

連結

編輯 PAM 文件時:/etc/pam.d/password-auth 和 /etc/pam.d/system-auth

必須對適當的部分進行編輯,而不僅僅是添加到文件的底部。特別是,這些password required pam_deny.so行必須是該部分中的最後一個條目。

我現在可以通過 SSH 和 GUI 使用 LDAP 使用者/密碼登錄。

引用自:https://serverfault.com/questions/833056