安裝OpenLDAP

LDAP介紹

        LDAP是輕量目錄訪問協議,英文全稱是Lightweight Directory Access Protocol,一般都簡稱爲LDAP。它是基於X.500標準的,但是簡單多了並且可以根據需要定製。與X.500不同,LDAP支持TCP/IP,這對訪問Internet是必須的。LDAP的核心規範在RFC中都有定義,所有與LDAP相關的RFC都可以在LDAPman RFC網頁中找到。

目的:

        使用LDAP對用戶名密碼做統一管理,實現一個帳號登錄多個不同系統。

Server Config

1、安裝部署相應的軟件包

# yum install -y openldap openldap-clients openldap-servers migrationtools

2、編輯OpenLDAP配置文件

# vim /etc/openldap/slapd.d/cn\=config/olcDatabase\=\{2\}hdb.ldif

olcSuffix: dc=example,dc=com    #在配置文件的第8行

olcRootDN: cn=Manager,dc=example,dc=com    #在配置文件的第9行

olcRootPW: password    #新增加一行密碼按自己的要求設置

3、編輯監控數據庫的配置文件

# vim /etc/openldap/slapd.d/cn\=config/olcDatabase\=\{1\}monitor.ldif

olcAccess: {0}to * by dn.base="gidNumber=0+uidNumber=0,cn=peercred,cn=extern

 al,cn=auth" read by dn.base="cn=Manager,dc=example,dc=com" read by * none

# 在配置文件的第6行
4、LDAP數據庫

# cp /usr/share/openldap-servers/DB_CONFIG.example /var/lib/ldap/DB_CONFIG

5、賦予ldap目錄權限

# chown -R ldap.ldap /var/lib/ldap

6、測試配置文件

# slaptest -u

7、啓動並啓用slapd服務

# systemctl start slapd

# systemctl enable slapd

8、查看LDAP進程及端口運行情況

# netstat -lt | grep ldap

# netstat -tunlp | egrep "389|636"

9、配置LDAP模式(根據需求添加相應的模式)

# cd /etc/openldap/schema/

# ldapadd -Y EXTERNAL -H ldapi:/// -D "cn=config" -f cosine.ldif

# ldapadd -Y EXTERNAL -H ldapi:/// -D "cn=config" -f nis.ldif

# ldapadd -Y EXTERNAL -H ldapi:/// -D "cn=config" -f collective.ldif

# ldapadd -Y EXTERNAL -H ldapi:/// -D "cn=config" -f corba.ldif

# ldapadd -Y EXTERNAL -H ldapi:/// -D "cn=config" -f core.ldif

# ldapadd -Y EXTERNAL -H ldapi:/// -D "cn=config" -f duaconf.ldif

# ldapadd -Y EXTERNAL -H ldapi:/// -D "cn=config" -f dyngroup.ldif

# ldapadd -Y EXTERNAL -H ldapi:/// -D "cn=config" -f inetorgperson.ldif

# ldapadd -Y EXTERNAL -H ldapi:/// -D "cn=config" -f java.ldif

# ldapadd -Y EXTERNAL -H ldapi:/// -D "cn=config" -f misc.ldif

# ldapadd -Y EXTERNAL -H ldapi:/// -D "cn=config" -f openldap.ldif

# ldapadd -Y EXTERNAL -H ldapi:/// -D "cn=config" -f pmi.ldif

# ldapadd -Y EXTERNAL -H ldapi:/// -D "cn=config" -f ppolicy.ldif

10、編輯migrate_common.ph配置文件

# cd /usr/share/migrationtools/

# vim migrate_common.ph

$NAMINGCONTEXT{'group'}             = "ou=Groups";    #在61行處ou=Group加s

$DEFAULT_MAIL_DOMAIN = "example.com";    #在71行處改成所需的域名

$DEFAULT_BASE = "dc=example,dc=com";    #在74行處更改頂級域名和二級域名

$EXTENDED_SCHEMA = 1;    #在90行處更改EXTENDED_SCHEMA的值

11、生成base.ldif的配置文件

# ./migrate_base.pl > /root/base.ldif

12、加載 "base.ldif" 到 LDAP 數據庫

# ldapadd -x -W -D "cn=Managert,dc=example,dc=com" -f /root/base.ldif

13、創建用戶和組並加入到LDAP數據庫中

# mkdir /home/guests

# useradd -d /home/guests/ldapzhangsan ldapzhangsan

# useradd -d /home/guests/ldaplisi ldaplisi

# echo 'password' | passwd --stdin ldapzhangsan

# echo 'password' | passwd --stdin ldaplisi

14、過濾這些用戶和組從/etc/shadow到不同文件的密碼

# getent passwd | tail -n 5 > /root/users

# getent shadow | tail -n 5 > /root/shadow

# getent group | tail -n 5 > /root/groups

15、編輯migrate_passwd.pl配置文件

# vim migrate_passwd.pl

open(SHADOW, "/etc/shadow") || return;    #在188行處把/etc/shadow更改爲/root/shadow

16、上傳這些用戶和組ldif文件到LDAP數據庫

# ldapadd -x -W -D "cn=Managert,dc=exampl,dc=com" -f users.ldif

# ldapadd -x -W -D "cn=Managert,dc=exampl,dc=com" -f groups.ldif

17、加載LDAP

# ldapsearch -x -b "dc=exampl,dc=com" -H ldap://127.0.0.1

Client Config

# yum install -y nss-pam*

# authconfig-tui    #[ Use LDAP] and next

# su ldapzhangsan    #測試客戶端賬戶登錄

bash-4.1$     #測試成功

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章