Jamyy's Weblog

在 CentOS 7 安裝 OpenLDAP 並啟用 LDAP 帳號密碼驗證

by Jamyy on 九月.15, 2014, under Linux

  • 安裝 OpenLDAP, 並將 LDAP 資料從舊伺服器轉移到本機
  • 啟用 LDAP 驗證帳號密碼
    • 方式一: 使用 pam_ldap 驗證 (無論 SELinux=enforcing 或 disabled 都可用)
    • 方式二: 使用 pam_sss 驗證 (適用於 SELinux=enforcing)

安裝 OpenLDAP, 並將 LDAP 資料從舊伺服器轉移到本機

# yum install openldap-servers openldap-clients
# cd /etc/openldap
# rm -rf slapd.d
# scp root@old.server:/etc/openldap/schema/* schema/
# scp root@old.server:/etc/openldap/slapd.conf ./
# scp root@old.server:/root/all.ldif /root/

註: old.server:/root/all.ldif 係於 old server 以 slapcat > /root/all.ldif 產生

# cp /usr/share/openldap-servers/DB_CONFIG.example /var/lib/ldap/DB_CONFIG
# slapadd -l /root/all.ldif
# vi ldap.conf

URI ldap://127.0.0.1
BASE dc=mycompany,dc=com

# chown -R ldap:ldap /var/lib/ldap
# chown :ldap slapd.conf
# systemctl enable slapd
# systemctl start slapd

啟用 LDAP 驗證帳號密碼

方式一: 使用 pam_ldap 驗證 (無論 SELinux=enforcing 或 disabled 都可用)

# yum install nss-pam-ldapd

# vi /etc/nslcd.conf

base ou=user,dc=mycompany,dc=com
base group ou=group,dc=mycompany,dc=com

# authconfig --enableldap --enableldapauth --update

方式二: 使用 pam_sss 驗證 (適用於 SELinux=enforcing)

# cd /etc/pki/tls/certs
# make slapd.pem
# chown :ldap slapd.pem
# chmod 640 slapd.pem
# ln -s /etc/pki/tls/certs/slapd.pem /etc/openldap/certs/
# vi /etc/openldap/slapd.conf

TLSCACertificateFile /etc/pki/tls/certs/ca-bundle.crt
TLSCertificateFile /etc/pki/tls/certs/slapd.pem
TLSCertificateKeyFile /etc/pki/tls/certs/slapd.pem

# vi /etc/openldap/ldap.conf

URI ldap://127.0.0.1
BASE dc=mycompany,dc=com
TLS_REQCERT never
TLS_CACERTDIR /etc/openldap/cacerts

# vi /etc/sysconfig/slapd

SLAPD_URLS="ldapi:/// ldap:/// ldaps:///"

# systemctl restart slapd

# yum install sssd

# authconfig \
   --enablesssd \
   --enablesssdauth \
   --enablelocauthorize \
   --enableldap \
   --enableldapauth \
   --ldapserver=ldap://127.0.0.1 \
   --enableldaptls \
   --ldapbasedn=ou=user,dc=mycompany,dc=com \
   --disablerfc2307bis \
   --enablemkhomedir \
   --enablecachecreds \
   --update

註: 若 group 使用 memberUid 則 --disablerfc2307bis, 若 group 使用 member 則 --enablerfc2307bis

# vi /etc/sssd/sssd.conf

# 於 ldap_search_base 底下插入:
ldap_group_search_base = ou=group,dc=mycompany,dc=com
ldap_tls_reqcert = never

# systemctl restart sssd


 
Ref:



:,