安装环境:
linu系统: centos7.2版本
OenLDAP:/openldap-2.4.44
下载地址:ftp://ftp.openldap.org/pub/OpenLDAP/openldap-release/openldap-2.4.44.tgz
BDB : 5.1.29
下载地址:http://download.Oracle.com/berkeley-db/db-5.1.29.tar.gz
安装方式;
#yum安装就不说了
一、源码安装
1.DBD安装
#yum install *ltdl* -y #安装依赖包
#cd /usr/local/src/
#tar -zxvf db-5.1.29.tar.gz
#cd db-5.1.29/build_unix/
#../dist/configure --prefix=/usr/local/berkeleydb-5.1.29
#make
#make install
#cd /usr/local/src/
#echo "/usr/local/berkeleydb-5.1.29/lib/" > /etc/ld.so.conf
#ldconfig -v
#cd /usr/local/src/
#tar -zxvf openldap-2.4.44.tgz
#cd openldap-2.4.44
# ./configure --prefix=/usr/local/openldap-2.4.44 --enable-syslog
#--enable-modules --enable-debug --with-tls CPPFLAGS=-I/usr/local/
#berkeleydb-5.1.29/include/ LDFLAGS=-L/usr/local/berkeleydb-5.1.29/lib/
#make depend
#make test
#make install
#cd /usr/local/openldap-2.4.44
#ln -s /usr/local/openldap-2.4.44/bin/* /usr/local/bin/
#ln -s /usr/local/openldap-2.4.44/sbin/* /usr/local/sbin/
1 include /usr/local/openldap-2.4.44/etc/openldap/schema/collective.schema 2 include /usr/local/openldap-2.4.44/etc/openldap/schema/corba.schema 3 include /usr/local/openldap-2.4.44/etc/openldap/schema/cosine.schema 4 include /usr/local/openldap-2.4.44/etc/openldap/schema/duaconf.schema 5 include /usr/local/openldap-2.4.44/etc/openldap/schema/dyngroup.schema 6 include /usr/local/openldap-2.4.44/etc/openldap/schema/inetorgperson.schema 7 include /usr/local/openldap-2.4.44/etc/openldap/schema/java.schema 8 include /usr/local/openldap-2.4.44/etc/openldap/schema/misc.schema 9 include /usr/local/openldap-2.4.44/etc/openldap/schema/nis.schema 10 include /usr/local/openldap-2.4.44/etc/openldap/schema/openldap.schema 11 include /usr/local/openldap-2.4.44/etc/openldap/schema/pmi.schema 12 include /usr/local/openldap-2.4.44/etc/openldap/schema/ppolicy.schema
loglevel 256 #新增日志级别,需要在编译时--enable-debug,否则日志文件输出,不影响调试模式;
suffix "dc=lohogames,dc=com" #后缀一般写域名
rootdn "cn=root,dc=lohogames,dc=com" #管理员用户
rootpw {SSHA}K9+WK/t1e0V0K6pUMOyTsaTwkDBNEDiP #管理员密码配置
1 vim lohogames.ldif 2 dn: dc=lohogames,dc=com #全局唯一标识条目 3 dc: lohogames #domainComponent(域名) 4 objectclass: domain #指定这个对象类是一个根 5 6 dn: ou=zabbix,dc=lohogames,dc=com 7 ou: zabbix # ou-> organization unit(组织单元-部门) 8 objectclass: organizationalUnit # 指定对象类是一个组织/部门 9 10 dn: cn=mazhongyue,ou=zabbix,dc=lohogames,dc=com 11 cn: mazhongyue #指一个对象的名字。如果指人,需要使用其全名 12 sn: MAZHONGYUE #指一个人的姓 13 uid: mazhongyue #userid,通常指某个用户的登录名,与Linux系统中用户的uid不同。 14 userPassword: Kod@2011 #用户登陆密码 15 objectclass: inetOrgperson #指定这个对象类/条目是普通用户的属性 16 17 dn: cn=fuyufei,ou=zabbix,dc=lohogames,dc=com 18 cn: fuyufei 19 sn: FUYUFEI 20 uid: fuyufei 21 userPassword: loho@2017 22 objectclass: inetOrgperson
#用户必须具备uid属性,要不接入开源服务的时候用户无法登陆开源服务(例如:zabbix)
4.启动OpenLDAP
/usr/local/openldap-2.4.44/libexec/slapd -d 256 #在前端打印数据信息
ldapadd -x -D "cn=root,dc=lohogamesi,dc=com" -W -f test2.ldif #把ldif数据插入到OpenLDAP数据库当中
#dapsearch -x -D "cn=root,dc=lohogames,dc=com" -w ldap b dc=lohogames,dc=com #查看数据是否存在
-x:进行简单的验证
-D:管理员用户
-w:密码
-b:指定范围
dc=lohogames,dc=com #表示从树根开始整个ldap用户
3.关闭匿名登陆设置
#出于安全考虑禁止非正式用户访问
在主配置文件slapd.conf中,加入disallow bind_anon #重启生效
4.普通用户可以修改自己的密码及用户只能看到自己
#为了工作方便,普通用户自行修改自己的密码
#出于安全考虑,用户只能看到自己看不到其他人的信息
access to attrs=userPassword,shadowLastChange #修改密码属性的限定 by self write #只有自己有写的权限 by self read #只有自己有读的权限 by anonymous auth #匿名用户需要验证 by * none #拒绝任何人访问 access to dn.children=" ou=commonality,dc=lohogames,dc=com" #限定所有子条目 by self read #只有自己有读的权限 access to * #所有属性及类 by users read #所有用户都有读的权限
OpenLDAP开源服务配置
一.zabbi使用LDAP认证配置
# 登陆 zabbix页面 => 点击 Administration => 点击 Authentication => 点击 LDAP
1 LDAP host: #OpenLDAP服务器地址 2 Port: #默认端口(389)不需要修改; 3 Base DN: #填写格式为 DC=,DC= #域名的一部分 4 Search attribute: #搜索属性,搜索范围 可以写 uid ,cn 5 Bind DN: #cn=域管理帐号,dc=域名,dc=域名;查看slapd.conf配置文件 定位 rootdn 这行就可以找到了 6 Bind password: #域账号管理员密码;查看slapd.conf配置文件 定位 rootpw 这行就是了 7 Login: #zabbix管理员用户 8 User password: 域用户Admin密码 #域用户最好和zabbix管理员用户密码一样