配置 LDAP 身份驗證

以下是透過在Linux上的Terminal設定,將NAS 設定為 LDAP 伺服器來提供帳號認證服務的詳細步驟

安裝相關套件工具

> yum -y update

> yum -y install openldap-clients sssd sssd-client sssd-ldap sssd-tools authconfig nss-pam-ldapd oddjob-mkhomedir epel-release nfs-utils

安裝工具:OpenLDAP客戶端(openldap-clients)、SSSD(sssd, sssd-cliet, sssd-ldap, sssd-tools)身份驗證、使用NFS(nfs-utils)掛載共用資料夾

安裝package:authconfig、nss-pam-ldapd、oddjob-mkhomedir、epel-release

啟用功能及基本設定

> authconfig --enablesssd --enablesssdauth --enableldap --enableldapauth --enableldaptls --enablemd5 --disablemkhomedir --disableforcelegacy --ldapserver ldap://(填入NAS的IP位置)/ --ldapbasedn dc=ece,dc=cycu,dc=edu,dc=tw --updateall

authconfig 啟用sssd, sssdauth, ldap, ldapauth, ldaptls, md5

停用 mkhomedir, forcelegacy

指定LDAP伺服器位置(在此需填入NAS的IP位置)並指定BaseDN

最後更新所有相關配置文件

設定sssd配置文件

[domain/default]

autofs_provider = ldap

cache_credentials = True


ldap_search_base = dc=ece,dc=cycu,dc=edu,dc=tw

id_provider = ldap

auth_provider = ldap

chpass_provider = ldap

ldap_uri = ldap://(填入NAS的IP位置)/


ldap_default_bind_dn = uid=root,cn=users,dc=ece,dc=cycu,dc=edu,dc=tw

ldap_default_authtok = (NAS密碼)


ldap_tls_reqcert = never

ldap_id_use_start_tls = True

ldap_tls_cacert = /etc/openldap/cacerts/cert.pem

ldap_tls_cacertdir = /etc/openldap/cacerts


default_shell = /bin/bash

override_shell = /bin/bash


[sssd]

services = nss, pam, autofs

domains = default


[nss]

homedir_substring = /home

[pam]

[sudo]

[autofs]

[ssh]

[pac]

[ifp]

[secrets]

[session_recording]

在配置文件中有三個部分需要設定:

[domain/NAME] 

[sssd]

[nss]

若需其它配置設定,請參考:https://access.redhat.com/documentation/en-us/red_hat_enterprise_linux/6/html/deployment_guide/about-sssd-conf

使用自訂sssd設定檔

sudo cp ~/sssd.txt /etc/sssd/sssd.conf

將已設定好的sssd內容複製至sssd.conf中

複製金鑰至Openldap檔案夾中

> cp cert.pem /etc/openldap/cacerts/

重啟sssd服務並檢查使用者id

> systemctl restart sssd

出現"active(running)"就代表您已設置成功!