OpenLdap安裝配置

OpenLdap安裝配置
原創博文http://www.cnblogs.com/elvi/p/7661126.html

 

# OpenLdap安裝配置
# 環境centos6

##同步時間
ntpdate ntp.shu.edu.cn
yum install epel-release #EPEL源
yum install php httpd -y

#安裝OpenLDAP
yum install openldap openldap-* -y
yum install nscd nss-pam-ldapd nss-* pcre pcre-* -y
#配置ldap
cp /usr/share/openldap-servers/slapd.conf.obsolete /etc/openldap/slapd.conf

#設置ldap管理員密碼
slappasswd -s q1w1
{SSHA}4NuDoOlB50xX/RtgcaTpDa6nQ4Ks7O2d
slappasswd -s q1w1 |sed -e "s#{SSHA}#rootpw\t{SSHA}#g" >>/etc/openldap/slapd.conf    #設置密碼
tail -1 /etc/openldap/slapd.conf
#修改dc配置
vim /etc/openldap/slapd.conf
#如下參數大概在114行
database        bdb                                #使用bdb數據庫
suffix          "dc=dev,dc=com"                    #定義dc,指定搜索的域
rootdn          "cn=admin,dc=dev,dc=com"           #定義管理員的dn,使用這個dn能登錄openldap
#優化ldap配置參數
#loglevel 296                    #定義日誌級別
#cachesize 1000                  #換成條目數
checkpoint 2048 10              #表示內存中達到2048k或者10分鐘,執行一次checkpoint,即寫入數據文件的操做
#配置相關權限
#刪除默認權限,將下面的內容都刪除
database config
access to *
        by dn.exact="gidNumber=0+uidNumber=0,cn=peercred,cn=external,cn=auth" manage
        by * none
 
# enable server status monitoring (cn=monitor)
database monitor
access to *
        by dn.exact="gidNumber=0+uidNumber=0,cn=peercred,cn=external,cn=auth" read
        by dn.exact="cn=Manager,dc=my-domain,dc=com" read
        by * none
        
#添加新的權限(這是2.3的權限設置方式)
access to *
        by self write
        by anonymous auth
        by * read

#配置syslog記錄ldap的服務日誌
cp /etc/rsyslog.conf /etc/rsyslog.conf_`date +%Y%m%d`.bak
echo "local4.*   /var/log/ldap.log" >>/etc/rsyslog.conf
/etc/init.d/rsyslog restart #重啓rsyslog服務

#配置ldap數據庫路徑
cp /usr/share/openldap-servers/DB_CONFIG.example /var/lib/ldap/DB_CONFIG
chown ldap.ldap /var/lib/ldap/DB_CONFIG 
chmod 700 /var/lib/ldap/
ll /var/lib/ldap/

egrep -v "\#|^$" /var/lib/ldap/DB_CONFIG 
slaptest -u    #檢查配置文件是否正常

#ldap配置查看
egrep -v "\#|^$" /var/lib/ldap/DB_CONFIG 
slaptest -u
egrep -v "^#|^$" /etc/openldap/slapd.conf

#賦予配置目錄相應權限:
chown -R ldap:ldap /var/lib/ldap
chown -R ldap:ldap /etc/openldap/
#設置本機ip域名解析
echo "172.16.11.31        dev.com">>/etc/hosts
#啓動ldap服務
 /etc/init.d/slapd start
chkconfig slapd on
ps aux |grep ldap
netstat -tunlp |grep slapd
tail /var/log/ldap.log #查看日誌文件

#查詢一下ldap的內容
ldapsearch -LLL -W -x -H ldap://dev.com -D "cn=admin,dc=dev,dc=com" -b "dc=dev,dc=com" "(uid=*)"
#從新生成2.3的配置文件
mv /etc/openldap/slapd.d{,.bak}
mkdir /etc/openldap/slapd.d
chown -R ldap.ldap /etc/openldap/slapd.d
slaptest -f /etc/openldap/slapd.conf -F /etc/openldap/slapd.d/
ll /etc/openldap/slapd.d/
/etc/init.d/slapd restart
netstat -tunlp |grep slapd
ldapsearch -LLL -W -x -H ldap://dev.com -D "cn=admin,dc=dev,dc=com" -b "dc=dev,dc=com" "(uid=*)"
     
#安裝phpldapadmin
yum install phpldapadmin -y
cp /etc/phpldapadmin/config.php{,.bak}
vim /etc/phpldapadmin/config.php #配置用DN登陸397行
    $servers->setValue('login','attr','dn');
    // $servers->setValue('login','attr','uid');
vim /etc/httpd/conf.d/phpldapadmin.conf #容許從遠程訪問
    Allow from all 
echo ServerName localhost:80 >>/etc/httpd/conf/httpd.conf #添加本機web 80端口
service httpd restart 
#瀏覽器輸入:http://IP地址/phpldapadmin/進行訪問
cn=admin,dc=dev,dc=com

###################################
#建立用戶
cd /etc/openldap
vim test.ldif
#####
dn:dc=dev,dc=com
dc:dev
objectclass:top
objectclass:domain
objectclass:dcobject
objectclass:organization
o:dev,Inc.

dn:ou=it, dc=dev, dc=com
ou:it
objectclass:organizationalUnit

dn:cn=test,ou=it,dc=dev,dc=com
cn:test
sn:Test User
objectclass:person
#####
ldapadd -x -D "cn=admin,dc=dev,dc=com" -W -f /etc/openldap/test.ldif

#搜索操做:
ldapsearch -x -b 'dc=dev,dc=com'
#刪除全部子節點
ldapdelete -x -D 'cn=admin,dc=dev,dc=com' -W -r 'dc=dev,dc=com'


###################################
##建立系統帳號並導入到LDAP,須要migrationtools這個工具
useradd ldap1
passwd ldap1 #w1w1
yum install migrationtools -y
cd /usr/share/migrationtools/
vim  migrate_common.ph #修改70行左右的dc
# Default DNS domain
     71 $DEFAULT_MAIL_DOMAIN = "dev.com";
     73 # Default base
     74 $DEFAULT_BASE = "dc=dev,dc=com";
#生成文件
 ./migrate_base.pl > /tmp/base.ldif
 ./migrate_passwd.pl  /etc/passwd > /tmp/passwd.ldif
 ./migrate_group.pl  /etc/group > /tmp/group.ldif
#導入到LDAP
ldapadd -x -D "cn=admin,dc=dev,dc=com" -W -f /tmp/base.ldif
ldapadd -x -D "cn=admin,dc=dev,dc=com" -W -f /tmp/passwd.ldif
ldapadd -x -D "cn=admin,dc=dev,dc=com" -W -f /tmp/group.ldif
service slapd restart
###################################

#開啓OpenLDAP使用的389端口:
/etc/init.d/iptables stop
/sbin/iptables -I INPUT -p tcp --dport 389 -j ACCEPT
/etc/rc.d/init.d/iptables save
/etc/init.d/iptables status
/etc/init.d/iptables restart
相關文章
相關標籤/搜索