ldap安裝配置

環(huán)境

os: ubuntu 18
apache2: 2.4.29
php: 7.2
lam: 6.5
slapd: 2.4.45

1 Ubuntu安裝

sudo apt-get install -y slapd ldap-utils migrationtools

slapd: ldap server。
ldap-utils: ldap常用命令工具集莽鸿。
migrationtools: 一個(gè)把系統(tǒng)用戶和組遷移到ldap上的一個(gè)工具(可以不裝)昧旨。

2 初始化admin

sudo dpkg-reconfigure slapd

依次為: NO, potens.top, china,123456,123456,MDB,NO,YES

3 配置客戶端連接

cat /etc/ldap/ldap.conf  # 不存在則需要?jiǎng)?chuàng)建文件
# 上面的域
BASE   dc=potens,dc=top
# ldap server 地址 默認(rèn)端口為389
URI    ldap://127.0.0.1

4 檢查是否初始化成功

netstat -antup|grep 389

查看admin用戶

ldapsearch -x -LLL -b dc=potens,dc=top
 >> 輸出
  dn: dc=potens,dc=top
  objectClass: top
  objectClass: dcObject
  objectClass: organization
  o: china
  dc: potens

  dn: cn=admin,dc=potens,dc=top
  objectClass: simpleSecurityObject
  objectClass: organizationalRole
  cn: admin
  description: LDAP administrator

5 創(chuàng)建測(cè)試組合測(cè)試用戶

$vim test.ldif


dn: ou=test,dc=potens,dc=top
objectClass: organizationalUnit
objectClass: top

dn: uid=test,ou=test,dc=potens,dc=top
uid: test
cn: 測(cè)試
displayName: 測(cè)試
gidNumber: 5000
uidNumber:1000
sn: 測(cè)
givenName: 試
homeDirectory: /home/test
loginShell: /bin/bash
mail: test@potens.top
objectClass: posixAccount
objectClass: top
objectClass: inetOrgPerson
telephoneNumber: 15711111111
userPassword: 123456

$ldapadd -x -D "cn=admin,dc=potens,dc=top" -W -f test.ldif # 輸入admin密碼

6 安裝web管理頁(yè)面lam

$cat ldap.sh
    PHP_VERSION=7.2
    apt-get install -y apache2 php php-ldap php-xml php-zip
    mkdir /www
    cd /www 
    wget http://note.youdao.com/yws/public/resource/6e6b5d0367a0b2326619e29f5055cf88/xmlnote/B93E5271092C440AAE54C8000F5F60B3/6598 -O ldap-account-manager-6.5.tar.bz2
    tar jxf ldap-account-manager-6.5.tar.bz2
    rm -rf  ldap-account-manager-6.5.tar.bz2 
    mv ldap-account-manager-6.5 ldap-account-manager
    chown -R www-data:www-data /www
    echo '<VirtualHost *:80>
    ServerName ldap.potens.top
    ServerAlias ldap.potens.top
    DocumentRoot /www/ldap-account-manager
    <Directory /www/ldap-account-manager>
        Options FollowSymLinks Includes
        AllowOverride All
        Order deny,allow
        Allow from all
    </Directory>
</VirtualHost>' > /etc/apache2/sites-available/ldap.potens.top.conf 
    ln -s /etc/apache2/sites-available/ldap.potens.top.conf  /etc/apache2/sites-enabled/ldap.potens.top.conf 
    
    sed -i '916i\extension=xml' /etc/php/$PHP_VERSION/apache2/php.ini
    sed -i '917i\extension=ldap' /etc/php/$PHP_VERSION/apache2/php.ini
    sed -i '918i\extension=zip' /etc/php/$PHP_VERSION/apache2/php.ini
    
    cd /www/ldap-account-manager/config
    cp config.cfg.sample config.cfg
    cp unix.conf.sample unix.conf
    /etc/init.d/apache2 restart

7 lam配置

7.1 首頁(yè)進(jìn)入LAM configuration

index.png

7.2 配置全局設(shè)置 初始密碼為lam

image.png

7.3 設(shè)置Session timeout過(guò)期時(shí)間和master密碼

setting.png
master password.png

7.4 增加server profiles

edit server profiles.png
manage server profiles.png

7.5 增加模板為unix的profile并設(shè)置為默認(rèn)的profile(添加時(shí)候需要上面設(shè)置過(guò)的master密碼)

image.png

image.png

7.5 配置potens profile

輸入profile的密碼進(jìn)入配置


profile login.png

分為四個(gè)設(shè)置
general setting: 通用設(shè)置。服務(wù)器地址、后綴、登錄方式、密碼等
account type: 賬戶類型亏镰。賬號(hào)的類型相關(guān)的屬性設(shè)置。
modules: 模塊。用戶和用戶組相關(guān)模塊的配置。
module setting: 模塊設(shè)置。用戶個(gè)人信息的及id的范圍蛾绎。


setting list.png

general setting->設(shè)置ldap的地址


ldap addr.png

general setting->賬號(hào)查找類型


login type.png

account type->賬號(hào)相關(guān)的設(shè)置


image.png

其他兩個(gè)先保持默認(rèn)。保存設(shè)置同规,回到登錄頁(yè)朱灿。


login.png

8 設(shè)置語(yǔ)言

切換語(yǔ)言列表登錄甸祭,必須保證lam所在的服務(wù)器存在對(duì)應(yīng)的語(yǔ)言包,如果沒(méi)有使用安裝語(yǔ)言包

$ dpkg-reconfigure locales

找到zh_cn.UTF-8 按空格選中


add language.png

9 使用test賬號(hào)在lam上登錄

image.png
image.png

10 使用admin用戶登錄lam

創(chuàng)建admin profile

image.png

image.png

登錄方法需要選擇固定列表 admin用戶不支持搜索登錄


image.png

其他設(shè)置參考poten的profile設(shè)置

11 使用admin用戶創(chuàng)建users、group賬戶類型

$ cat account.ldif
# 組
dn: ou=groups,dc=potens,dc=top
objectClass: organizationalUnit
objectClass: top
ou: groups

# 用戶
dn: ou=users,dc=potens,dc=top
objectClass: organizationalUnit
objectClass: top
ou: users

$ ldapadd -x -D "cn=admin,dc=potens,dc=top" -W -f account.ldif

12 使用lam創(chuàng)建分組和用戶

選擇admin進(jìn)行登錄


image.png

image.png

創(chuàng)建dev開(kāi)發(fā)組


image.png

創(chuàng)建yanshaowen用戶


add user.png

image.png
add user.png

創(chuàng)建unix信息

unix.png

設(shè)置密碼

set password.png

保存

save.png

退出admin使用賬戶yanshaowen登錄

image.png

13 設(shè)置用戶一些可見(jiàn)的設(shè)置

lam settting -> Edit server profiles-> 選擇potens

先選擇全局設(shè)置

用戶只能修改自己的信息

工具全部隱藏

選擇賬戶相關(guān)設(shè)置

隱藏用戶組
添加 LDAP filter 讓用戶只能看到自己

因?yàn)閘am只提供了LOGIN_DN 的宏 所以只能自己定義了LOGIN_UID和LOGIN_CN的宏了( 如果創(chuàng)建用戶的時(shí)候選擇cn為RDN identifier, 則需要用LOGIN_CN 否則用LOGIN_UID) 需要修改lam的源碼 保存后重新登錄lam就可以生效了

vim /www/ldap-account-manager/lib/modules.inc

# get_ldap_filter函數(shù)增加下面幾行代碼
$dn_list = get_item_value($loginData[0]);
$finalFilter = str_replace('@@LOGIN_UID@@', $dn_list['uid'], $finalFilter);
$finalFilter = str_replace('@@LOGIN_CN@@', $dn_list['cn'], $finalFilter);
## 增加下面的函數(shù)
function get_item_value($dn) {
                $dn_k_v_list = ['uid' => null, 'cn' => null];
                $dn_list = ldap_explode_dn($dn, 0);
                foreach($dn_list as $item) {
                        $item_list = explode('=',$item);
                        if (count($item_list) == 2) {
                                $dn_k_v_list[$item_list[0]] = $item_list[1];
                        }
                }
                return $dn_k_v_list;
        }
修改源碼
最后編輯于
?著作權(quán)歸作者所有,轉(zhuǎn)載或內(nèi)容合作請(qǐng)聯(lián)系作者
  • 序言:七十年代末债蓝,一起剝皮案震驚了整個(gè)濱河市,隨后出現(xiàn)的幾起案子憎妙,更是在濱河造成了極大的恐慌喷楣,老刑警劉巖,帶你破解...
    沈念sama閱讀 216,544評(píng)論 6 501
  • 序言:濱河連續(xù)發(fā)生了三起死亡事件,死亡現(xiàn)場(chǎng)離奇詭異蜂奸,居然都是意外死亡,警方通過(guò)查閱死者的電腦和手機(jī)期丰,發(fā)現(xiàn)死者居然都...
    沈念sama閱讀 92,430評(píng)論 3 392
  • 文/潘曉璐 我一進(jìn)店門(mén)掠手,熙熙樓的掌柜王于貴愁眉苦臉地迎上來(lái),“玉大人声登,你說(shuō)我怎么就攤上這事临梗⌒渡。” “怎么了俊嗽?”我有些...
    開(kāi)封第一講書(shū)人閱讀 162,764評(píng)論 0 353
  • 文/不壞的土叔 我叫張陵带到,是天一觀的道長(zhǎng)揽惹。 經(jīng)常有香客問(wèn)我箭养,道長(zhǎng)嗅辣,這世上最難降的妖魔是什么? 我笑而不...
    開(kāi)封第一講書(shū)人閱讀 58,193評(píng)論 1 292
  • 正文 為了忘掉前任,我火速辦了婚禮,結(jié)果婚禮上鱼辙,老公的妹妹穿的比我還像新娘。我一直安慰自己玫镐,他們只是感情好倒戏,可當(dāng)我...
    茶點(diǎn)故事閱讀 67,216評(píng)論 6 388
  • 文/花漫 我一把揭開(kāi)白布。 她就那樣靜靜地躺著恐似,像睡著了一般杜跷。 火紅的嫁衣襯著肌膚如雪。 梳的紋絲不亂的頭發(fā)上矫夷,一...
    開(kāi)封第一講書(shū)人閱讀 51,182評(píng)論 1 299
  • 那天葛闷,我揣著相機(jī)與錄音,去河邊找鬼双藕。 笑死淑趾,一個(gè)胖子當(dāng)著我的面吹牛,可吹牛的內(nèi)容都是我干的忧陪。 我是一名探鬼主播扣泊,決...
    沈念sama閱讀 40,063評(píng)論 3 418
  • 文/蒼蘭香墨 我猛地睜開(kāi)眼,長(zhǎng)吁一口氣:“原來(lái)是場(chǎng)噩夢(mèng)啊……” “哼嘶摊!你這毒婦竟也來(lái)了旷赖?” 一聲冷哼從身側(cè)響起,我...
    開(kāi)封第一講書(shū)人閱讀 38,917評(píng)論 0 274
  • 序言:老撾萬(wàn)榮一對(duì)情侶失蹤更卒,失蹤者是張志新(化名)和其女友劉穎等孵,沒(méi)想到半個(gè)月后,有當(dāng)?shù)厝嗽跇?shù)林里發(fā)現(xiàn)了一具尸體蹂空,經(jīng)...
    沈念sama閱讀 45,329評(píng)論 1 310
  • 正文 獨(dú)居荒郊野嶺守林人離奇死亡俯萌,尸身上長(zhǎng)有42處帶血的膿包…… 初始之章·張勛 以下內(nèi)容為張勛視角 年9月15日...
    茶點(diǎn)故事閱讀 37,543評(píng)論 2 332
  • 正文 我和宋清朗相戀三年,在試婚紗的時(shí)候發(fā)現(xiàn)自己被綠了上枕。 大學(xué)時(shí)的朋友給我發(fā)了我未婚夫和他白月光在一起吃飯的照片咐熙。...
    茶點(diǎn)故事閱讀 39,722評(píng)論 1 348
  • 序言:一個(gè)原本活蹦亂跳的男人離奇死亡,死狀恐怖辨萍,靈堂內(nèi)的尸體忽然破棺而出棋恼,到底是詐尸還是另有隱情返弹,我是刑警寧澤,帶...
    沈念sama閱讀 35,425評(píng)論 5 343
  • 正文 年R本政府宣布爪飘,位于F島的核電站义起,受9級(jí)特大地震影響,放射性物質(zhì)發(fā)生泄漏师崎。R本人自食惡果不足惜默终,卻給世界環(huán)境...
    茶點(diǎn)故事閱讀 41,019評(píng)論 3 326
  • 文/蒙蒙 一、第九天 我趴在偏房一處隱蔽的房頂上張望犁罩。 院中可真熱鬧齐蔽,春花似錦、人聲如沸床估。這莊子的主人今日做“春日...
    開(kāi)封第一講書(shū)人閱讀 31,671評(píng)論 0 22
  • 文/蒼蘭香墨 我抬頭看了看天上的太陽(yáng)丐巫。三九已至谈况,卻和暖如春,著一層夾襖步出監(jiān)牢的瞬間鞋吉,已是汗流浹背鸦做。 一陣腳步聲響...
    開(kāi)封第一講書(shū)人閱讀 32,825評(píng)論 1 269
  • 我被黑心中介騙來(lái)泰國(guó)打工励烦, 沒(méi)想到剛下飛機(jī)就差點(diǎn)兒被人妖公主榨干…… 1. 我叫王不留谓着,地道東北人。 一個(gè)月前我還...
    沈念sama閱讀 47,729評(píng)論 2 368
  • 正文 我出身青樓坛掠,卻偏偏與公主長(zhǎng)得像赊锚,于是被迫代替她去往敵國(guó)和親。 傳聞我的和親對(duì)象是個(gè)殘疾皇子屉栓,可洞房花燭夜當(dāng)晚...
    茶點(diǎn)故事閱讀 44,614評(píng)論 2 353

推薦閱讀更多精彩內(nèi)容