Deepin系統(tǒng)基于LDAP統(tǒng)一認(rèn)證

本人近期參與團(tuán)隊(duì)做Deepin相關(guān)的項(xiàng)目時(shí),需要如同微軟AD一樣對(duì)各終端進(jìn)行統(tǒng)一認(rèn)證管理,則本想著通過(guò)搜索網(wǎng)上相關(guān)資料和官方相關(guān)文檔一步一步操作很快搞定,卻發(fā)現(xiàn)網(wǎng)絡(luò)上Deepin的這塊指導(dǎo)文檔幾乎沒(méi)有。通過(guò)本人對(duì)Linux系統(tǒng)的理解摸索和查看Deepin dde-session-ui源碼資源,經(jīng)反復(fù)的測(cè)驗(yàn),最終走通了整個(gè)流程。為表示支持一下國(guó)產(chǎn)開源系統(tǒng)DeepinOS,決定整理分享一下相關(guān)指南以方便大家更快的使用DeepinOS深度性的功能,并集成應(yīng)用到工作環(huán)境中去。
注:文檔不會(huì)對(duì)LDAP Server部署與配置操作進(jìn)行說(shuō)明,請(qǐng)查找網(wǎng)上相關(guān)資源,這方面比較多。另外本人應(yīng)用的Deepin系統(tǒng)環(huán)境為V20社區(qū)版本。

Deepin對(duì) LDAP Client工具安裝與配置

第一步: 安裝
sudo apt-get install libnss-ldap libpam-ldap ldap-utils nscd -y

默認(rèn)此處安裝時(shí)有Console UI可以配置LDAP client,可以忽略或按流程進(jìn)行連接LDAP Server端設(shè)置,如果選擇忽略則進(jìn)行下面第二步操作。

第二步: 查看或編輯兩個(gè)配置文件
/etc/libnss-ldap.conf
/etc/pam_ldap.conf

這兩個(gè)為主要的LDAP客戶端認(rèn)證配置文件,如果在第一步通過(guò)UI界面配置了應(yīng)該會(huì)自動(dòng)生成相關(guān)的配置,則不需要手動(dòng)修改配置。
可以參看一下本人環(huán)境配置實(shí)例,注意"X"需要根據(jù)自己實(shí)際的LDAP服務(wù)器信息選擇協(xié)議與地址等配置(這方面配置可參照debian ldap客戶端安裝指南)。

#/etc/libnss-ldap.conf配置內(nèi)容
base dc=XXXXX,dc=XX
uri ldap://X.X.X.X
ldap_version 3
rootbinddn cn=XXXX,dc=XXXXX,dc=XX

#/etc/pam_ldap.conf配置內(nèi)容
base dc=XXXXX,dc=XX
uri ldap://X.X.X.X
ldap_version 3
pam_password crypt

第三步 配置/etc/pam.d/common-*文件
可通過(guò)執(zhí)行 pam-auth-update --force 自動(dòng)生成

/etc/pam.d/common-auth
/etc/pam.d/common-account
/etc/pam.d/common-password
/etc/pam.d/common-session-noninteractive

可參考一下本人環(huán)境的相關(guān)配置

#/etc/pam.d/common-auth更新后的配置
auth    [success=4 default=ignore]  pam_deepin_auth.so                        <== 參數(shù)減少
auth    [success=2 default=ignore]  pam_unix.so nullok_secure try_frist_pass  <== 新增行
auth    [success=1 default=ignore]  pam_ldap.so use_first_pass                <== 新增行
auth    requistite  pam_deny.so
auth    required    pam_permit.so
#/etc/pam.d/common-account更新后的配置
account [success=2 new_authtok_reqd=done default=ignore]    pam_unix.so   <== 優(yōu)先級(jí)'1' 變 '2'
account [success=1 default=ignore]  pam_ldap.so                         <==新增行
account requistite  pam_deny.so
account required    pam_permit.so
#/etc/pam.d/common-password更新后的配置
password    [success=2 default=ignore] pam_unix.so obscure sha512
password    [success=1 user_unknown=ignore default=die] pam_ldap.so use_authtok try_first_pass
password    requistite  pam_deny.so
password    required    pam_permit.so
password    optional    pam_gnome_keyring.so
#/etc/pam.d/common-session-noninteractive更新后的配置
session [default=1]     pam_permit.so   
session requistite    pam_deny.so
session required            pam_permit.so
session required        pam_unix.so
session optional            pam_ldap.so

第四步 Deepin 開啟ldap用戶認(rèn)證greeter UI
此步為關(guān)鍵步驟,只有開啟相關(guān)配置才能在系統(tǒng)LOGIN時(shí)選擇“輸入用戶”界面

配置文件位置
/usr/share/dde-session-ui/dde-session-ui.conf

修改以下項(xiàng):
[general]
loginPromptInput=true
[lock]
showSwitchUserButton=always
dde-session-ui.conf 配置說(shuō)明
  • General/loginPromptAvatar 設(shè)置是否啟用本地用戶列表,默認(rèn)為true。
  • General/loginPromptInput 設(shè)置是否啟用LDAP登錄,默認(rèn)為false。
  • Lock/showSwitchUserButton 設(shè)置是否顯示用戶切換按鈕,值固定三項(xiàng): [always | ondemand | disabled],默認(rèn)為ondemand。
  • Power/sleep 設(shè)置是否啟用鎖屏、登錄界面和關(guān)機(jī)界面的待機(jī)按鈕。
  • Power/hibernate 設(shè)置是否啟用鎖屏、登錄界面和關(guān)機(jī)界面的休眠按鈕。
  • OS/isDeepin 設(shè)置是否啟用鎖屏的指紋和密碼同步驗(yàn)證機(jī)制,在Deepin發(fā)行版為true,其他發(fā)行版為false。
最后就是測(cè)試了,給大家一些思路

1)首先檢驗(yàn)保障LDAP SERVER正常性(這塊有l(wèi)dapsearch工具等)
2)開啟Deepin系統(tǒng)SSH服務(wù),先通過(guò)SSH來(lái)驗(yàn)證LDAP用戶與認(rèn)證是否正常
3)tail -f /var/log/auth.log 測(cè)試時(shí)實(shí)時(shí)查看日志信息,如果出錯(cuò)可以日志反饋信息排查問(wèn)題點(diǎn)(本人遇到幾次LDAP服務(wù)器連接問(wèn)題,日志上可以明顯提示出來(lái)并可查看是哪個(gè)進(jìn)程報(bào)錯(cuò),如是libnss還是pam_ldap相關(guān)的信息等)

希望本文對(duì)各位有幫助,同時(shí)望有更多的技術(shù)愛好者用行動(dòng)去支持國(guó)產(chǎn)化系統(tǒng)的發(fā)展。

?轉(zhuǎn)文者請(qǐng)備注作者:Xiao_Yang?

最后編輯于
?著作權(quán)歸作者所有,轉(zhuǎn)載或內(nèi)容合作請(qǐng)聯(lián)系作者
【社區(qū)內(nèi)容提示】社區(qū)部分內(nèi)容疑似由AI輔助生成,瀏覽時(shí)請(qǐng)結(jié)合常識(shí)與多方信息審慎甄別。
平臺(tái)聲明:文章內(nèi)容(如有圖片或視頻亦包括在內(nèi))由作者上傳并發(fā)布,文章內(nèi)容僅代表作者本人觀點(diǎn),簡(jiǎn)書系信息發(fā)布平臺(tái),僅提供信息存儲(chǔ)服務(wù)。

相關(guān)閱讀更多精彩內(nèi)容

友情鏈接更多精彩內(nèi)容