歡迎來到Linux教程網
Linux教程網
Linux教程網
Linux教程網
您现在的位置: Linux教程網 >> UnixLinux >  >> Linux基礎 >> 關於Linux

Redhat 6下構建LDAP服務

實驗環境:

REDHAT6.3

LDAP server:172.24.30.20

LDAP clent: 172.24.30.25

准備工作:

配置前先關閉iptables和SELINUX,避免配置過程中報錯。

# service iptables stop

# setenforce 0

# vi /etc/sysconfig/selinux

---------------

SELINUX=disabled

---------------

1.LDAP server端配置:

安裝LDAP服務(使用YUM本地光盤安裝)

# yum install openldap-* -y

提示安裝以下4個包

openldap-devel-2.4.23-26.el6.x86_64

openldap-clients-2.4.23-26.el6.x86_64

openldap-2.4.23-26.el6.x86_64

openldap-servers-2.4.23-26.el6.x86_64

拷貝LDAP配置文件到LDAP目錄(redhat6.3):

# cd /etc/openldap/

# cp /usr/share/openldap-servers/slapd.conf.obsolete slapd.conf

redhat6.0或6.1版本配置文件在主目錄有備份:

# cd /etc/openldap/

# cp slapd.conf.bak slapd.conf

創建LDAP管理員密碼:

# slappasswd

這裡我輸入的密碼是redhat,輸入完密碼後,返回一串密文,先保存到剪貼板

{SSHA}pfAJm+JJa4ec2y8GjTc8uMEJpoR5YKLy

編譯配置文件

# vi /etc/openldap/slapd.conf

找到115行,默認如圖:

修改為:

高亮部分為剛才生成的密碼(加密後的)。

配置文件最後幾行的權限部分我們也要做相應的更改:

原內容:

更改為:

保存退出。

拷貝DB_CONFIG文件到指定目錄

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

刪除默認/etc/openldap/slapd.d下面的所有內容,否則後面在使用ldapadd的時候會報錯:

# rm -rf /etc/openldap/slapd.d/*

啟動LDAP的slapd服務,並設置自啟動:

# service slapd restart

# chkconfig slapd on

賦予配置目錄相應權限:

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

# chown -R ldap:ldap /etc/openldap/

測試並生成配置文件:

slaptest  -f /etc/openldap/slapd.conf -F /etc/openldap/slapd.d

返回config file testing succeeded,則配置成功。

賦予生成的配置文件予權限並重啟:

# chown -R ldap:ldap /etc/openldap/slapd.d

# service slapd restart

創建一個賬號,以備客戶端測試登陸

# useradd ldapuser1

# passwd ldapuser1

至此,這些用戶僅僅是系統上存在的用戶(存儲在/etc/passwd和/etc/shadow上),並沒有在LDAP數據庫裡,所以要把這些用戶導入到LDAP裡面去。但LDAP只能識別特定格式的文件 即後綴為ldif的文件(也是文本文件),所以不能直接使用/etc/passwd和/etc/shadow。 需要migrationtools這個工具把這兩個文件轉變成LDAP能識別的文件。

安裝配置migrationtools

# yum install migrationtools -y

進入migrationtool配置目錄

# cd /usr/share/migrationtools/

首先編輯migrate_common.ph

# vi  migrate_common.ph

找到如下內容(大概在70行):

修改為:

下面利用pl腳本將/etc/passwd 和/etc/shadow生成LDAP能讀懂的文件格式,保存在/tmp/下

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

# ./migrate_passwd.pl  /etc/passwd > /tmp/passwd.ldif

# ./migrate_group.pl  /etc/group > /tmp/group.ldif

下面就要把這三個文件導入到LDAP,這樣LDAP的數據庫裡就有了我們想要的用戶

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

# ldapadd -x -D "cn=admin,dc=example,dc=com" -W -f /tmp/passwd.ldif

# ldapadd -x -D "cn=admin,dc=example,dc=com" -W -f /tmp/group.ldif

過程若無報錯,則LDAP服務端配置完畢

重啟slapd完成配置

# service slapd restart

現安裝NFS,並把ldapuser1的家目錄做NFS共享.

默認REDHAT已安裝

# yum install nfs* -y

配置NFS共享:

# vi /etc/exports

--------------

/home/ldapuser1         *(rw,no_root_squash)

--------------

重啟nfs服務:

# service rpcbind restart

# service nfs restart

2.LDAP 客戶端配置

打開客戶端圖形化界面命令行

 

輸入system-config-authentication,按照如圖配置:

配置結束點Apply保存退出,系統會自動重啟sssd服務

配置autofs,實現ldapuser1登錄成功後,能夠訪問本地家目錄/home/ldapuser1,該目錄掛載於網內LDAP服務器172.24.30.20:/home/ldapuser1下

# vi /etc/auto.master

添加一行:

--------------

/home   /etc/auto.misc

--------------

# vi /etc/auto.master

添加一行:

--------------

*               -fstype=nfs                     172.24.30.20:/home/&

--------------

重啟autofs服務:

# service autofs reload

登陸ldapuser1賬戶:

若未返回系統未找到ldapuser1家目錄報錯信息,則LDAP客戶端配置成功。

注:這裡若仍無法登陸,請進入setup模式配置LDAP登陸

# id ldapuser1

uid=500(ldapuser1) gid=500(ldapuser1) groups=500(ldapuser1)

# su - ldapuser1

# pwd

/home/ldapuser1

至此大功告成。。。

注:LDAP服務需要服務器和客戶端的時間保持大致一致,否則在登陸ldapuser1賬戶時可能會報錯,這裡NTP服務搭建省略,可以手工修改兩台服務器的時間保持一致。

Copyright © Linux教程網 All Rights Reserved