CentOS6.5安装openLdap
一、关闭防火墙和selinux
关闭防火墙
chkconfig iptables off
service iptables stop
关闭selinux
vim /etc/selinux/config将配置修改为
SELINUX=disabled
ldap常用名称解释
1.环境搭建
操作系统:centos6.5 x86_64
关闭防火墙、selinux
开启时间同步
# crontab -e
加入
# time sync
*/5 * * * * /usr/sbin/ntpdate 192.168.8.102 >/dev/null 2>&1
# crontab -l
*/5 * * * * /usr/sbin/ntpdate -u 192.168.8.102 >/dev/null 2>&1
配置域名解析:
# echo "192.168.8.43 chinasoft.com" >> /etc/hosts
解决依赖关系
# yum grouplist
Base
Debugging Tools
Performance Tools
Compatibility libraries
Development tools
Dial-up Networking Support
Hardware monitoring utilities
如果缺少组包,需要安装
yum groupinstall -y "Compatibility libraries"
2.安装openldap master
# yum install -y openldap openldap-*
# yum install -y nscd nss-pam-ldapd nss-* pcre pcre*
# rpm -qa | grep openldap*
compat-openldap-2.3.43-2.el6.x86_64
openldap-2.4.40-12.el6.x86_64
openldap-clients-2.4.40-12.el6.x86_64
openldap-servers-sql-2.4.40-12.el6.x86_64
openldap-servers-2.4.40-12.el6.x86_64
openldap-devel-2.4.40-12.el6.x86_64
3.配置slapd.conf文件
# cd /etc/openldap/
[root@node5 openldap]# cp /usr/share/openldap-servers/slapd.conf.obsolete slapd.conf
[root@node5 openldap]# cp slapd.conf slapd.conf.bak
[root@node5 openldap]# slappasswd -s chinasoft|sed -e "s#{SSHA}#rootpw\t{SSHA}#g"
rootpw {SSHA}D9+lqUJZVPobp0sZfXl37jE1aVvR2P9K
[root@node5 openldap]# slappasswd -s chinasoft|sed -e "s#{SSHA}#rootpw\t{SSHA}#g">>/etc/openldap/slapd.conf
[root@node5 openldap]# tail -1 slapd.conf
rootpw {SSHA}FvBRnIPqtIi0/u11O2gOfOCrRJr+xMAr
# vim slapd.conf
注释掉一下四行
# database dbb
#suffix "dc=my-domain,dc=com"
#checkpoint 1024 15
#rootdn "cn=Manager,dc=my-domain,dc=com"
添加如下内容
# add start by jack 2016/07/01
database bdb
suffix "dc=chinasoft,dc=com"
rootdn "cn=admin,dc=chinasoft,dc=com"
对比修改是否成功:
- # diff slapd.conf.bak slapd.conf
- 114,117c114,122
- < database bdb
- < suffix "dc=my-domain,dc=com"
- < checkpoint 1024 15
- < rootdn "cn=Manager,dc=my-domain,dc=com"
- ---
- > #database bdb
- > #suffix "dc=my-domain,dc=com"
- > #checkpoint 1024 15
- > #rootdn "cn=Manager,dc=my-domain,dc=com"
- > # add start by jack 2016/07/01
- > database dbd
- > suffix "dc=chinasoft,dc=com"
- > rootdn "cn=admin,dc=chinasoft,dc=com"
- >
- 140a146
- > rootpw {SSHA}FvBRnIPqtIi0/u11O2gOfOCrRJr+xMAr
添加如下内容
cat >> /etc/openldap/slapd.conf<<EOF
# add start by jack 2016/07/01
loglevel 296
cachesize 1000
checkpoint 2018 10
EOF
参数说明:
# add start by jack 2016/07/01
loglevel 296 # 日志级别,记录日志信息方便调试,296级别是由256(日志连接/操作/结果)、32(搜索过滤器处理)、8(连接管理)累加的结果
cachesize 1000 # 设置ldap可以换成的记录数
checkpoint 2018 10 # 可以设置把内存中的数据协会数据文件的操作上,上面设置表示每达到2048KB或者10分钟执行一次,checkpoint即写入数据文件的操作
4.ldap授权及安全参数配置
# vim /etc/openldap/slapd.conf
删除如下内容:
- 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
改为:
access to *
by self write
by anonymous auth
by * read
5.加入日志记录
# cp /etc/rsyslog.conf /etc/rsyslog.conf.bak.$(date +%F%T)
# echo '#record ldap.log by jack 2016-07-01' >> /etc/rsyslog.conf
# echo 'local4.* /var/log/ldap.log'>> /etc/rsyslog.conf
# tail -1 /etc/rsyslog.conf
local4.* /var/log/ldap.log
# service rsyslog restart
6.配置ldap数据库路径
# cp /usr/share/openldap-servers/DB_CONFIG.example /var/lib/ldap/DB_CONFIG
[root@node5 openldap]# ll /var/lib/ldap/DB_CONFIG
-rw-r--r-- 1 root root 845 Jul 1 17:29 /var/lib/ldap/DB_CONFIG
[root@node5 openldap]# chown ldap:ldap /var/lib/ldap/DB_CONFIG
[root@node5 openldap]# chmod 700 /var/lib/ldap/
[root@node5 openldap]# ls -l /var/lib/ldap/
total 4
-rw-r--r-- 1 ldap ldap 845 Jul 1 17:29 DB_CONFIG
验证配置是否Ok
# slaptest -u
config file testing succeeded
#如果需要更改新的配置情况,删除原配置,生成新配置,比如,需要修改超级管理员的密码情况,
#如果不是,可以跳过这个步骤
cd /etc/ldap/
rm -rf slapd.d/*
slaptest -f slapd.conf -F slapd.d/
cd slapd.d/
可能会有报错,不过不影响,有文件就算是成功的
7.启动服务:
# /etc/init.d/slapd restart
# lsof -i :
COMMAND PID USER FD TYPE DEVICE SIZE/OFF NODE NAME
slapd ldap 7u IPv4 0t0 TCP *:ldap (LISTEN)
slapd ldap 8u IPv6 0t0 TCP *:ldap (LISTEN)
[root@node5 openldap]# ps -ef |grep ldap|grep -v grep
ldap : ? :: /usr/sbin/slapd -h ldap:/// ldapi:/// -u ldap
配置随机启动
# chkconfig slapd on
[root@node5 openldap]# chkconfig --list slapd
slapd :off1:off2:on3:on4:on5:on6:off
8.测试查找内容
# ldapsearch -LLL -W -x -H ldap://chinasoft.com -D "cn=admin,dc=chinasoft,dc=com" -b "dc=chinasoft,dc=com" "(uid=*)"
Enter LDAP Password:
报错:
ldap_bind: Invalid credentials ()
解决办法:
# rm -rf /etc/openldap/slapd.d/*
# slaptest -f /etc/openldap/slapd.conf -F /etc/openldap/slapd.d 57763ec6 bdb_monitor_db_open: monitoring disabled; configure monitor database to enable config file testing succeeded # ldapsearch -LLL -W -x -H ldap://chinasoft.com -D "cn=admin,dc=chinasoft,dc=com" -b "dc=chinasoft,dc=com" "(uid=*)" Enter LDAP Password: No such object (32)
重启服务
# service slapd restart
Stopping slapd: [FAILED]
Checking configuration files for slapd: [FAILED]
57763eee ldif_read_file: Permission denied for "/etc/openldap/slapd.d/cn=config.ldif"
slaptest: bad configuration file!
[root@node5 openldap]# chown -R ldap.ldap /etc/openldap/slapd.d/
[root@node5 openldap]# service slapd restart
Stopping slapd: [FAILED]
Starting slapd: [ OK ]
# lsof -i :389
COMMAND PID USER FD TYPE DEVICE SIZE/OFF NODE NAME
slapd 51164 ldap 7u IPv4 77503 0t0 TCP *:ldap (LISTEN)
slapd 51164 ldap 8u IPv6 77504 0t0 TCP *:ldap (LISTEN)
9.为ldap master初始化数据(如果不初始化,后面无法通过web界面管理)
增加初始的入口(entries)
1) 创建LDIF文件
编辑一个LDIF格式文件:
# vim base.ldif
dn: dc=chinasoft, dc=com
objectClass: organization
objectClass: dcObject
dc: chinasoft
o: chinasoft dn: ou=People, dc=chinasoft, dc=com
objectClass: organizationalUnit
ou: People dn: ou=group, dc=chinasoft, dc=com
objectClass: organizationalUnit
ou: group dn: cn=tech, ou=group, dc=chinasoft, dc=com
objectClass: posixGroup
description:: 5oqA5pyv6YOo
gidNumber:
cn: tech
# vim jack.ldif
dn: uid=jack,ou=People,dc=chinasoft,dc=com
objectClass: posixaccount objectClass: inetOrgPerson objectClass: organizationalPerson objectClass: person homeDirectory: /home/jack loginShell: /bin/bash uid: jack cn: jack userPassword:: 55G/ReqPKeOZ8SpgszwIQhaBXySNU4mw uidNumber: gidNumber: sn: jack
# ldapadd -x -H ldap://chinasoft.com -D "cn=admin,dc=chinasoft,dc=com" -W -f base.ldif
Enter LDAP Password:
adding new entry "dc=chinasoft, dc=com"
adding new entry "ou=People, dc=chinasoft, dc=com"
adding new entry "ou=group, dc=chinasoft, dc=com"
adding new entry "cn=tech, ou=group, dc=chinasoft, dc=com"
2) 运行ldapadd
# ldapadd -x -H ldap://chinasoft.com -D "cn=admin,dc=chinasoft,dc=com" -W -f base.ldif
Enter LDAP Password:
adding new entry "dc=chinasoft,dc=com"
ldap_add: Invalid syntax () additional info: objectClass: value # invalid per syntax 原因:ldif文件中存在空格 或者 个别单词拼写错误 正确书写格式: (1空行) dn:(空格) dc=mail,dc=kaspersky,dc=com(结尾无空格) objectclass: (空格)dcObject(结尾无空格) objectclass: (空格)organization(结尾无空格) o: (空格)kaspersky(结尾无空格) dc:(空格) test(结尾无空格) (1空行) dn: (空格)cn=test,dc=mail,dc=kaspersky,dc=com(结尾无空格) objectclass: (空格)organizationalRole(结尾无空格) cn: (空格)test(结尾无空格) (结尾无空行)
# ldapadd -x -H ldap://chinasoft.com -D "cn=admin,dc=chinasoft,dc=com" -W -f jack.ldif
Enter LDAP Password:
adding new entry "uid=jack,ou=People,dc=chinasoft,dc=com"
3) 检查是否已经开始正常工作
# ldapsearch -LLL -W -x -H ldap://chinasoft.com -D "cn=admin,dc=chinasoft,dc=com" -b "dc=chinasoft,dc=com" "(uid=*)"
Enter LDAP Password:
dn: uid=jack,ou=People,dc=chinasoft,dc=com
objectClass: posixAccount
objectClass: inetOrgPerson
objectClass: organizationalPerson
objectClass: person
homeDirectory: /home/jack
loginShell: /bin/bash
uid: jack
cn: jack
userPassword:: 55G/ReqPKeOZ8SpgszwIQhaBXySNU4mw
uidNumber:
gidNumber:
sn: jack
10.为ldap master配置web管理接口
安装lamp环境
# yum install -y httpd php php-ldap php-gd
# rpm -qa httpd php php-ldap php-gd
php-5.3.-.el6.x86_64
httpd-2.2.-.el6.centos.x86_64
php-gd-5.3.-.el6.x86_64
php-ldap-5.3.-.el6.x86_64
安装ldap-account-manager管理软件
https://www.ldap-account-manager.org/lamcms/releases?page=3
将ldap-account-manager-3.7.tar.gz安装包上传到/var/www/html目录
# cd /var/www/html/
[root@node5 html]# tar zxf ldap-account-manager-3.7.tar.gz
[root@node5 html]# mv ldap-account-manager-3.7 ldap
[root@node5 html]# cd ldap/config
[root@node5 config]# cp config.cfg_sample config.cfg
[root@node5 config]# cp lam.conf_sample lam.conf
[root@node5 config]# sed -i 's#cn=Manager#cn=admin#g' lam.conf
[root@node5 config]# sed -i 's#dc=my-domain#dc=chinasoft#g' lam.conf [root@node5 config]# diff lam.conf_sample lam.conf
13c13 < admins: cn=Manager,dc=my-domain,dc=com --- > admins: cn=admin,dc=chinasoft,dc=com 55c55 < types: suffix_user: ou=People,dc=my-domain,dc=com --- > types: suffix_user: ou=People,dc=chinasoft,dc=com 59c59 < types: suffix_group: ou=group,dc=my-domain,dc=com --- > types: suffix_group: ou=group,dc=chinasoft,dc=com 63c63 < types: suffix_host: ou=machines,dc=my-domain,dc=com --- > types: suffix_host: ou=machines,dc=chinasoft,dc=com 67c67 < types: suffix_smbDomain: dc=my-domain,dc=com --- > types: suffix_smbDomain: dc=chinasoft,dc=com # chown -R apache.apache /var/www/html/ldap
访问http://192.168.8.43/ldap/templates/login.php
使用刚才配置的 admin 和密码chinasoft登陆即可
添加用户、配置密码
查看通过web界面添加的tom用户是否生效
# ldapsearch -LLL -W -x -H ldap://chinasoft.com -D "cn=admin,dc=chinasoft,dc=com" -b "dc=chinasoft,dc=com" "(uid=lily)" Enter LDAP Password: dn: uid=lily,ou=People,dc=chinasoft,dc=com objectClass: posixAccount objectClass: inetOrgPerson objectClass: organizationalPerson objectClass: person homeDirectory: /home/lily loginShell: /bin/bash uid: lily cn: lily uidNumber: gidNumber: userPassword:: e1NTSEF9RkY1eHFNUk5JbGJHNFpCQWtBK0pwN1RmcmdIci9Mems= sn: lily givenName: lily
CentOS6.5安装openLdap的更多相关文章
- Centos6 yum安装openldap+phpldapadmin+TLS+双主配置
原文地址:http://54im.com/openldap/centos-6-yum-install-openldap-phpldapadmin-tls-%E5%8F%8C%E4%B8%BB%E9%8 ...
- centos6.5环境openldap实战之ldap配置详解及web管理工具lam(ldap-account-manager)使用详解
ldap常用名称解释 1.环境搭建 操作系统:centos6.5 x86_64 关闭防火墙.selinux 开启时间同步 # crontab -e 加入 # time sync */5 * * * * ...
- CentOS6.4_x64配置OpenLDAP+PhpldapAdmin
一:前言 LDAP是轻量目录访问协议,英文全称是Lightweight Directory Access Protocol,一般都简称为LDAP.它是基于X.500标准的,但是简单多了并且可以根据需要 ...
- vmware Centos6.6安装64位
Centos6.6安装64位 必须开启BIOS中的虚拟化技术 首先开机进入BIOS,一般机器是按F2,我的T420是按F1,然后进入Security,Virtualization,选择Enable即可 ...
- Gitlab完美安装【CentOS6.5安装gitlab-6.9.2】
摘要: 拆腾了几天,终于在今天找到了快速安装Gitlab的方法.CentOS6.5安装gitlab-6.9.2 参考网址:https://gitlab.com/gitlab-org/omnibus-g ...
- CentOS6.5安装Tomcat
安装说明 安装环境:CentOS-6.4 安装方式:源码安装 软件:apache-tomcat-7.0.56.tar.gz 下载地址:http://tomcat.apache.org/download ...
- ubuntu 12.04下安装openldap,slapd.conf找不到的解决方法
https://help.ubuntu.com/12.04/serverguide/openldap-server.html ubuntu安装openldap经历了一系列挫折,网上找了半天资料都是一模 ...
- centos6.5安装oracle11g_2
centos7安装oracle数据库不成功,换成centos6.5安装,可以安装成功,记录一下 安装系统时,主机名如果不是用localhost,安装成功后,要用主机名和ip做映射,修改/etc/hos ...
- CentOS6.6安装vmware workstation报错
本人系统用的是centos6.6,安装了vmware workstation,启动后一直如下图报错,相关内核已经安装了的,哪位前辈如果解决过这样的问题,麻烦指点指点,小弟在此先谢过了.
随机推荐
- Hibernate的关联映射——单向N-1关联
Hibernate的关联映射--单向N-1关联 N-1是非常常见的关联关系,最常见的父子关系也是N-1关联,单向的N-1关联只需从N的一端可以访问1的一端. 为了让两个持久化类能够支持这种关联映射,程 ...
- 我的android学习经历39
关于像第一次进qq一样的那个渐变企鹅图的制作 渐变动画 package com.moonweather.app.activity; import com.moonweather.app.R; impo ...
- python 反射调用
因为目前在写一个python的项目,用到了Python的反射机制,所以做一下笔记,把写项目过程中的感悟记下来. 先简单介绍下Demo用到的函数: sys.path 是python的模块的路径集,是一个 ...
- 深入浅出设计模式——桥接模式(Bridge Pattern)
模式动机设想如果要绘制矩形.圆形.椭圆.正方形,我们至少需要4个形状类,但是如果绘制的图形需要具有不同的颜色,如红色.绿色.蓝色等,此时至少有如下两种设计方案: 第一种设计方案是为每一种形状都提供一套 ...
- Sqlserver2012 中文乱码解决
1.在Windows Azure的数据库中,如果选择默认字符编码,那么在创建表字段是,字符串类型应该为nvarchar,如果是varchar将会出现乱码,同样的的在sql语句中生命变量,也是需要将字符 ...
- java length属性 length()方法 size()方法
length是属性,一般用来说明数组的长度 length()是方法,针对字符串String说的,用来求数组中某个元素的字符串长度 String str={"adfasf",&quo ...
- contextloaderlistener
http://blog.csdn.net/c5153000/article/details/6234207 作用:在启动Web容器时,自动装配Spring applicationContext.xml ...
- 第一章 企业项目开发--maven+springmvc+spring+mybatis+velocity整合
说明:本系列文章主要是对自己在一家大型互联网公司实习的过程中对所学知识的总结!参与的是实际中使用的上线项目. 代码的github地址:https://github.com/zhaojigang/ssm ...
- Html=>Head=>meta
如今智能机遍布大街小巷,所以,如今的前端攻城师们要大 跨步的迈向移动互联网了,更何况Web App也应用广泛,可能原理还一样,但是一定会有新的东西出现,那就从“头”开始,看看头部那些Meta的新玩意. ...
- 解决ajax中文乱码问题
主要遇到的问题: 一.ajax向服务器提交的数据有中文,没有设置编码方式.造成服务器接收到乱码 二.服务器向ajax返回数据中有中文,没有设置响应编码方式,造成ajax接收到乱码 乱码产生的原因:不管 ...