ldap目錄服務
ldap:輕量級目錄訪問協議(lightweight directory access protocol)
ø 由伺服器來集中儲存並向客戶端提供的訊息,儲存方式類似於dns分層結構
ø 提供的資訊包括:使用者名稱、密碼、通訊錄、主機名對映記錄……
典型的ldap工作模式
ø ldap伺服器為一組客戶機集中提供可登入的使用者帳號
ø 本地使用者:使用者名稱、密碼資訊儲存/etc/passwd
、/etc/shadow
ø 網路使用者:使用者名稱、密碼資訊儲存在 ldap 服務端
ø 這些客戶機都須加入同乙個ldap域
加入ldap需要的條件
1)服務端提供:
ø ldap伺服器位址,基本dn名稱
ø 加密用的證書(若需要)
2)客戶端準備:
ø 用途:使用另一台伺服器上的賬號登入到本機
ø 修改使用者登入的驗證方式,啟用ldap
ø 正確配置ldap伺服器引數
ø 軟體包:sssd(與服務端溝通程式)、authconfig-gtk(圖形化配置sssd程式)、
【base dn、伺服器位址、證書】
配置工具:
authconfig-gtk(圖形工具)
authconfig-tui(字元介面)
系統服務(c):sssd
服務端server:為其他機器提供某一種資源或功能的程式
客戶端client:使用其他機器提供的資源或功能的程式
如何加入ldap域:
第一步:裝包,yum -y install sssd authconfig-gtk
第二步:配置ldap認證,圖形:authconfig-gtk
輸入ldap伺服器位址(即指定使用者帳戶資料庫ldap),基本dn名稱,加密用的證書
第三步:
1)檢視服務狀態:systemctl status sssd
2)重啟sssd服務成功:systemctl restart sssd
3)設定服務開機自啟:systemctl enable sssd
第四步:驗證ldap使用者登入
#id ldapuser0
#su - ldapuser0
配置虛擬機器server0使用系統classroom.example.com提供的ldap服務,要求如下:
1.驗證服務的基本dn是:dc=example,dc=com
2.賬戶資訊和驗證資訊都是由 ldap 提供的
4.當正確完成配置後,使用者 ldapuser0 應該能登入到你的系統,不過暫時沒有主目錄(需完成 autofs 題目)
5.使用者 ldapuser0 的密碼是 password
方案:需要安裝軟體包sssd已提供支援。
配置工具可選擇預設安裝的authconfig-tui,或者使用圖形程式authconfig-gtk。
步驟一:安裝支援軟體sssd、圖形配置authconfig-gtk
[root@server0 ~]# yum -y install sssd authconfig-gtk
[root@server0 ~]# rpm -q sssd authconfig-gtk
步驟二:配置ldap客戶端引數
1)使用authconfig-gtk認證配置工具
開啟配置程式後,可以看到「identity & authentication」視窗。
單擊「user account database」右側的下拉框選中「ldap」,單擊「authentication method」右側的下拉框選中「ldap password」。然後在「ldap search dn」後的文字框內填入指定的基本dn字串「dc=example,dc=com」,在「ldap server」後的文字框內填入指定的ldap伺服器位址「classroom.example.com」。
勾選「use tls to encrypt connections」前的選框,然後下方的「download ca certificate」按鈕會變成可用狀態,上方的警告訊息也會自動消失。
2)確保sssd服務已經執行
只要前一步配置正確,檢查sssd服務會發現已經自動執行。
[root@server0 ~]# systemctl status sssd
sssd.service - system security services daemon
... ..
[root@server0 ~]# systemctl enable sssd //確保sssd服務開機自啟。
步驟三:ldap客戶端驗證
1)在客戶機上能檢測到ldap網路使用者
[root@server0 ~]# grep 'ldapuser0' /etc/passwd
[root@server0 ~]# id ldapuser0 //檢查ldapuser0的id值:
uid=1700(ldapuser0) gid=1700(ldapuser0) groups=1700(ldapuser0)
2)可以su切換到ldap網路使用者
//切換到使用者ldapuser0並返回:
[root@server0 ~]# su - ldapuser0
su: warning: cannot change directory to /home/guests/ldapuser0: no such file or directory
mkdir: cannot create directory '/home/guests': permission denied
-bash-4.2$ //成功登入,但沒有家目錄
-bash-4.2$ exit //返回原使用者環境
logout
[root@server0 ~]#
3)可以使用ldap網路使用者在客戶機上登入
//以使用者ldapuser0,密碼password嘗試ssh登入到server0:
[root@server0 ~]# ssh [email protected]
the authenticity of host 'server0.example.com (172.25.0.11)' can't be established.
ecdsa key fingerprint is eb:24:0e:07:96:26:b1:04:c2:37:0c:78:2d:bc:b0:08.
are you sure you want to continue connecting (yes/no)? yes //首次接受金鑰
warning: permanently added 'server0.example.com,172.25.0.11' (ecdsa) to the list of known hosts.
[email protected]'s password: //輸入密碼password
last login: sat nov 26 05:45:51 2016
could not chdir to home directory /home/guests/ldapuser0: no such file or directory
mkdir: cannot create directory 『/home/guests』: permission denied
-bash-4.2$ //成功登入,但沒有家目錄
-bash-4.2$ exit //返回原使用者環境
logout
connection to server0.example.com closed.
Django使用ldap認證登入
一 安裝依賴包 yum install gcc libffi devel python devel openssl devel openldap devel y 二 安裝python庫 pip install python ldap pip install django auth ldap 三 修改...
安裝LDAP使用者認證
ldap伺服器設定 1.安裝 openldap servers yum y install openldap openldap devel openldap servers 2.建立 ldap 密碼 3.設定slap.conf以下三個部份 vi etc openldap slap.conf 先將預設...
python 連線使用LDAP認證的hive
主要使用pyhive包。使用linux中的普通賬號,venv環境。python版本 3.6.4。ldap認證需要sasl包,在安裝sasl包的時候因為機器中沒有g 編譯器,導致無法安裝。因為我使用的普通賬號,沒法給伺服器安裝g 編譯器,解決的方案是在另一台機器中安裝sasl,將安裝完成後生成的.so...