使用LDAP認證

2021-08-09 05:33:29 字數 4048 閱讀 3891

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

ssh  [email protected]

服務端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...