【1】 LDAP簡介
LDAP(Lightweight Directory Access Protocol) 代表輕量級目錄訪問協議
LDAP 是一種非關系型數據庫
linux 進程。LDAP 可擴展性和靈活性良好 安裝和配置簡單
【2】 幾個重要的概念
dn : ? ?一條記錄的位置
dc : ? ?一條記錄的所屬區域
ldap server?ou : ? ?一條記錄的所屬組織
cn/uid: 一條記錄的名字/ID
【3】 LDAP數據添充原理
把一個龐大的學生檔案放到LDAP里 具體步驟:
ldap配置?1】 建立一個"dc=ourschool,dc=org“的樹根" 通過編輯"slapd.conf"來實現
2】 建立18個系分別是
dnu=computer,dc=ourschool,dc=org
dnu=film,dc=ourschool,dc=org
查看進程 linux,...
3】 在每個系建立專業 如
dnu=Linux,ou=computer,dc=ourschool,dc=org
...
linux如何查看進程,4】 加學生
dn:cn=xiaoming,ou=linux,ou=computer,dc=ourschool,dc=org
5】 學生的詳細信息
dn:cn=xiaoming,ou=linux,ou=computer,dc=ourschool,dc=org
redhat7。objectClass: organizationalPerson
cn:xiaoming
cn:小明
sn:小明
fedora linux、description:a good boy
(以上是一條記錄的信息,如果把他保存成LDIF文件,可以導入到LDAP數據庫中)
【4】 搭建LDAP認證服務器
1】 安裝服務器軟件
linux?yum -y install openldap openldap-servers
2】 編譯服務器端配置文件(acl 與ldap配合,實現訪問控制)
vim /etc/openldap/slapd.conf
access to *
ldap統一用戶認證原理,by * read
by * auth
access to *
by self write
database ? ? ? ?bdb
suffix ? ? ? ? ?"dc=example,dc=com"
rootdn ? ? ? ? ?"cn=admin,dc=example,dc=com"
rootpw ? ? ? ? ?123456
# Mode 700 recommended. ?(默認LDAP存放數據的目錄 權限:700)
directory ? ?/var/lib/ldap
3】利用腳本創建OU,并初始化LDAPS
a】 vim /usr/usr/share/openldap/migration/migrate_common.ph
71:$DEFAULT_MAIL_DOMAIN = "example.com";
74:$DEFAULT_BASE = "dc=example,dc=com";
b】 /usr/share/openldap/migration/migrate_base.pl ? > /tmp/example.ldif
c】 刪掉 example.ldif 中多余的選項 (空行不能省略)
cat /tmp/example.ldif
dn: dc=example,dc=com
dc: example
objectClass: top
objectClass: domain
dn: ou=People,dc=example,dc=com
ou: People
objectClass: top
objectClass: organizationalUnit
dn: ou=Group,dc=example,dc=com
ou: Group
objectClass: top
objectClass: organizationalUnit
d】創建并初始化
slapadd -vl /tmp/example.ldif
生成信息:
bdb_db_open: Warning - No DB_CONFIG file found in directory
/var/lib/ldap: (2)
Expect poor performance for suffix dc=uplooking,dc=com.
added: "dc=example,dc=com" (00000001)
added: "ou=People,dc=example,dc=com" (00000002)
added: "ou=Group,dc=example,dc=com" (00000003)
e】 解決上步警告
cp /etc/openldap/DB_CONFIG.example ?/var/lib/ldap/DB_CONFIG
4】 啟動LDAP服務
a】 chown -R ldap ?/var/lib/ldap
若不改權限 啟動失敗
b】 service ldap start
或
/etc/init.d/ldap start
c】 netstat -tunlp ?| grep :389
驗證 服務監聽389端口
5】 安裝圖形管理程序 phpldapadmin
a】yum -y install httpd php php-ldap
b】 service httpd restart
c】 tar zxvf phpldapadmin-1.2.0.4.tgz -C /var/www/html/
d】 cd /var/www/html/phpldapadmin-1.2.0.4
e】 vim config/config.php.example config/config.php
f】 firefox http://localhost/phpldapadmin-1.2.0.4.tgz
g】?輸入用戶名 密碼登錄 ? ? ? ? ? ? ? ? ?cn=admin,dc=example,dc=com
123456
6】 以上為LDAP服務器的通用配置
【5】 實現具體功能,用戶的非本地驗證登錄
1】服務器端利用腳本創建用戶文件,并用phpldapadmin導入
a】for i in {1..50};do useradd user$i ; echo user$i | passwd --stdin user$i;done
b】 grep ^user /etc/passwd > /tmp/user
grep ^user /etc/group ?> /tmp/group
c】 /usr/share/openldap/migration/migrate_passwd.pl ?/tmp/user ?> /tmp/user.ldif
/usr/share/openldap/migration/migrate_group.pl ?/tmp/group > /tmp/group.ldif
d】 for i in { 1..50 }; do userdel user$i ;done
e】 導入/tmp/user.ldif 和 /tmp/group.ldif
2】服務器端(192.168.1.221)利用nfs共享用戶家目錄
a】 vim /etc/exports
/home ?*(rw,sync)
b】 service nfs restart
3】客戶端配置網絡驗證
a】 authconfig-tui
選上使用ldap和使用ldap驗證 配置ldap服務器
b】 grep ldap /etc/pam.d/system-auth
auth sufficient pam_ldap.so use_first_pass
account [default=bad success=ok user_unknown=ignore] pam_ldap.so
password sufficient pam_ldap.so use_authtok
session optional pam_ldap.so
以上是 system-auth文件多出來的內容
tail -n 3 /etc/openldap/ldap.conf
URI ldap://192.168.1.221/
BASE dc=example,dc=com
TLS_CACERTDIR /etc/openldap/cacerts
以上是openldap客戶端配置文件 新增內容
c】 rpm -q openldap-clients
查看是否安裝openldap客戶端 若未安裝,請安裝
d】 配置觸發掛載家目錄
vim /etc/auto.master
/home /etc/auto.home
vim /etc/auto.home
* ? -rw ? 192.168.1.221:/home/&
e】 service autofs restart
f】 測試成功
【6】 開啟網絡驗證后,客戶端登錄時,優先使用本地/etc/passwd /etc/shadow文件驗證,還是優先使用ldap
grep ldap /etc/nsswitch.conf -n
36:passwd: ldap files
37:shadow: ldap files
38:group: ldap files? ? 由 36 37 38 三行的ldap與files順序決定
版权声明:本站所有资料均为网友推荐收集整理而来,仅供学习和研究交流使用。
工作时间:8:00-18:00
客服电话
电子邮件
admin@qq.com
扫码二维码
获取最新动态