设为首页 收藏本站
查看: 1689|回复: 2

[经验分享] Openldap安装部署

[复制链接]
累计签到:1 天
连续签到:1 天
发表于 2016-9-9 10:57:25 | 显示全部楼层 |阅读模式
openldap是ldap协议实现的一个开源软件,也是众多Linux版本中使用的ldap软件,与Windows中的AD一样,属于比较著名而且流行的目录协议软件。

安装openldap,网上大部分文档都是寥寥几笔,认为该软件实在是简单易用,无须大费周章的过多解释,确实在CentOS 5上进行安装时比较顺利的,但是由于操作系统版本的变化以及openldap软件版本的不断升级,反而使openldap的安装变得困难。至少我在安装openldap时大概尝试了3次都是失败,有很多小的细节,真的不得不去小心注意,不然就会导致前功尽弃。
一、安装前的准备

1
2
3
4
5
/etc/init.d/iptables stop   #关闭iptables
setenforce 0    #禁用selinux
crontab -e      #添加时间同步定时任务
*/5 * * * * /usr/sbin/ntpdate  time.nist.gov >/dev/null 2>&1
crontab -l      #查看添加结果





1
2
3
4
5
6
# 配置yum源
mkdir -p /etc/yum.repo.d/bak
mv /etc/yum.repo.d/*.* /etc/yum.repo.d/bak
wget -O /etc/yum.repos.d/CentOS-Base.repo http://mirrors.aliyun.com/repo/Centos-6.repo
yum clean all
yum makecache





二、安装openldap等所需要的软件包
1
yum -y install openldap openldap-servers openldap-clients openldap-devel



安装之后最好使用/etc/init.d/slapd start测试一下,openldap服务是否能正常启动,如果不能,那么后面的操作就可能会出现问题了。

因为之前使用cobbler自动化安装的CentOS 6.5,精简了大部分的package,所以我尝试了两次,都无法启动slapd,也到官方查了文档,(有可能是sasl和openldap的版本不一致导致),但是因为每次安装都耗费大量的时间,而且还有别的工作进来,所以直接拿CentOS 6.5的光盘重新安装了一个虚拟机,然后一次性成功,所以部署服务的时候不能一味的追求系统的过量精简(当然我只是在测试的虚拟机中采用的精简配置,生产环境的cobbler还是尽量把各种运行库和开发库都安装上的),这一点可能我需要注意了。
三、配置openldap
[iyunv@ldapsrv01 ~]# ll /etc/openldap/
drwxr-xr-x. 2 root root 4096 Sep  8 12:37 certs
-rw-r-----. 1 root ldap  121 May 11 07:32 check_password.conf
-rw-r--r--. 1 root root  280 May 11 07:32 ldap.conf
drwxr-xr-x. 2 root root 4096 Sep  8 12:37 schema
drwx------. 3 ldap ldap 4096 Sep  8 12:46 slapd.d
安装完openldap之后,openldap的配置目录/etc/openldap中的文件基本上就这些。
1
2
3
4
5
cp /usr/share/openldap-servers/slapd.conf.obsolete /etc/openldap/slapd.conf
#因为openldap的默认配置文件不存在,所以我们从/usr/share/openldap-servers/下拷贝一份
cd /etc/openldap/
cp slapd.conf slapd.conf.bak   #备份一下配置文件  
cp -a slapd.d slapd.d.bak$(date +%F)   #备份一下slapd.d目录,里面的文件等下要全部删除



[iyunv@ldapsrv01 openldap]# service slapd start   #尝试启动一下slapd,该操作会在/var/lib/ldap目录下生成数据库文件
Starting slapd:                                            [  OK  ]
[iyunv@ldapsrv01 openldap]# ll
total 40
drwxr-xr-x. 2 root root 4096 Sep  8 12:37 certs
-rw-r-----. 1 root ldap  121 May 11 07:32 check_password.conf
-rw-r--r--. 1 root root  280 May 11 07:32 ldap.conf
drwxr-xr-x. 2 root root 4096 Sep  8 12:37 schema
-rw-r--r--. 1 root root 4635 Sep  8 12:38 slapd.conf
-rw-r--r--. 1 root root 4635 Sep  8 12:38 slapd.conf.bak
drwx------. 3 ldap ldap 4096 Sep  8 12:37 slapd.d
drwx------. 3 ldap ldap 4096 Sep  8 12:37 slapd.d.bak2016-09-08
[iyunv@ldapsrv01 openldap]# rm -rf /etc/openldap/slapd.d/*   #删除原有的配置文件
[iyunv@ldapsrv01 openldap]# slappasswd -s 123456    #生成openldap管理员的密码,稍后添加到slapd.conf文件中
{SSHA}jl5e9Ez5qn30Ur5sD74pXh8uDnRncmQN
[iyunv@ldapsrv01 openldap]# vi slapd.conf  #编辑slapd.conf文件
[iyunv@ldapsrv01 ~]# egrep -v "#|^$" /etc/openldap/slapd.conf
include/etc/openldap/schema/corba.schema
include/etc/openldap/schema/core.schema
include/etc/openldap/schema/cosine.schema
include/etc/openldap/schema/duaconf.schema
include/etc/openldap/schema/dyngroup.schema
include/etc/openldap/schema/inetorgperson.schema
include/etc/openldap/schema/java.schema
include/etc/openldap/schema/misc.schema
include/etc/openldap/schema/nis.schema
include/etc/openldap/schema/openldap.schema
include/etc/openldap/schema/ppolicy.schema
include/etc/openldap/schema/collective.schema
allow bind_v2
pidfile/var/run/openldap/slapd.pid
argsfile/var/run/openldap/slapd.args
TLSCACertificatePath /etc/openldap/certs
TLSCertificateFile "\"OpenLDAP Server\""
TLSCertificateKeyFile /etc/openldap/certs/password
database config
access to *            #数据库授权,这里只做测试使用
        by self write
        by anonymous auth
        by * read
databasebdb
suffix"dc=contoso,dc=com"     #设置域或组织的名称
rootdn"cn=admin,dc=contoso,dc=com"    #管理员账号dn
rootpw                  {SSHA}jl5e9Ez5qn30Ur5sD74pXh8uDnRncmQN   #管理员密码
directory/var/lib/ldap
index objectClass                       eq,pres
index ou,cn,mail,surname,givenname      eq,pres,sub
index uidNumber,gidNumber,loginShell    eq,pres
index uid,memberUid                     eq,pres,sub
index nisMapName,nisMapEntry            eq,pres,sub
loglevel            296   #设置日志级别,记录之日信息方便调试
checkpoint          2048  10   #设置把内存中的数据写回数据文件的操作,此处的设置表示每达到2048KB或10分钟执行一次checkpoint,即写入数据文件的操作
cachesize           1000    #设置ldap可以缓存的记录数
# 其中蓝色的部分是修改的地方,其他都不需要改动
四、配置rsyslog记录ldap日志
[iyunv@ldapsrv01 openldap]# echo "local4.*               /var/log/ldap.log" >>/etc/rsyslog.conf
[iyunv@ldapsrv01 openldap]# tail -1 /etc/rsyslog.conf
local4*               /var/log/ldap.log
[iyunv@ldapsrv01 openldap]# service rsyslog restart
Shutting down system logger:                               [  OK  ]
Starting system logger:                                    [  OK  ]
五、测试并启动openldap服务
[iyunv@ldapsrv01 openldap]# ll /var/lib/ldap/
total 980
-rw-r--r--. 1 ldap ldap     2048 Sep  8 12:38 alock
-rw-------. 1 ldap ldap    24576 Sep  8 12:38 __db.001
-rw-------. 1 ldap ldap   188416 Sep  8 12:38 __db.002
-rw-------. 1 ldap ldap   270336 Sep  8 12:38 __db.003
-rw-------. 1 ldap ldap    98304 Sep  8 12:38 __db.004
-rw-------. 1 ldap ldap   753664 Sep  8 12:38 __db.005
-rw-------. 1 ldap ldap    32768 Sep  8 12:38 __db.006
-rw-------. 1 ldap ldap     8192 Sep  8 12:38 dn2id.bdb
-rw-------. 1 ldap ldap    32768 Sep  8 12:38 id2entry.bdb
-rw-------. 1 ldap ldap 10485760 Sep  8 12:38 log.0000000001
# 这就是生成的数据库文件,如果该目录下为空,则执行/etc/init.d/slapd start会自动生成。
[iyunv@ldapsrv01 openldap]# slaptest -u  #测试配置文件是否正确
config file testing succeeded
[iyunv@ldapsrv01 openldap]# slaptest -f /etc/openldap/slapd.conf -F /etc/openldap/slapd.d
57d0ed14 bdb_db_open: warning - no DB_CONFIG file found in directory /var/lib/ldap: (2).
Expect poor performance for suffix "dc=contoso,dc=com".
57d0ed14 bdb_monitor_db_open: monitoring disabled; configure monitor database to enable
config file testing succeeded
# 重新生成/etc/openldap/slapd.d/目录下的文件
[iyunv@ldapsrv01 openldap]# chown -R ldap:ldap /etc/openldap/slapd.d  #将该目录授权给ldap用户
[iyunv@ldapsrv01 openldap]# chmod -R 700 /etc/openldap/slapd.d
[iyunv@ldapsrv01 openldap]# /etc/init.d/slapd restart
Stopping slapd:                                            [FAILED]
Starting slapd:                                            [  OK  ]
[iyunv@ldapsrv01 openldap]# ps -ef|grep ldap
ldap       1754      1  0 12:47 ?        00:00:00 /usr/sbin/slapd -h  ldap:/// ldapi:/// -u ldap
root       1762   1487  0 12:47 pts/0    00:00:00 grep ldap
[iyunv@ldapsrv01 openldap]# lsof -i :389
COMMAND  PID USER   FD   TYPE DEVICE SIZE/OFF NODE NAME
slapd   1754 ldap    7u  IPv4  16168      0t0  TCP *:ldap (LISTEN)
slapd   1754 ldap    8u  IPv6  16169      0t0  TCP *:ldap (LISTEN)
六、执行一个简单查询操作
[iyunv@ldapsrv01 openldap]# ldapsearch -x -b "dc=contoso,dc=com"
# extended LDIF
#
# LDAPv3
# base <dc=contoso,dc=com> with scope subtree
# filter: (objectclass=*)
# requesting: ALL
#

# search result
search: 2
result: 32 No such object

# numResponses: 1
返回结果32 No such object,因为我还没有创建任何账号或OU,下一篇进行数据的导入。



运维网声明 1、欢迎大家加入本站运维交流群:群②:261659950 群⑤:202807635 群⑦870801961 群⑧679858003
2、本站所有主题由该帖子作者发表,该帖子作者与运维网享有帖子相关版权
3、所有作品的著作权均归原作者享有,请您和我们一样尊重他人的著作权等合法权益。如果您对作品感到满意,请购买正版
4、禁止制作、复制、发布和传播具有反动、淫秽、色情、暴力、凶杀等内容的信息,一经发现立即删除。若您因此触犯法律,一切后果自负,我们对此不承担任何责任
5、所有资源均系网友上传或者通过网络收集,我们仅提供一个展示、介绍、观摩学习的平台,我们不对其内容的准确性、可靠性、正当性、安全性、合法性等负责,亦不承担任何法律责任
6、所有作品仅供您个人学习、研究或欣赏,不得用于商业或者其他用途,否则,一切后果均由您自己承担,我们对此不承担任何法律责任
7、如涉及侵犯版权等问题,请您及时通知我们,我们将立即采取措施予以解决
8、联系人Email:admin@iyunv.com 网址:www.yunweiku.com

所有资源均系网友上传或者通过网络收集,我们仅提供一个展示、介绍、观摩学习的平台,我们不对其承担任何法律责任,如涉及侵犯版权等问题,请您及时通知我们,我们将立即处理,联系人Email:kefu@iyunv.com,QQ:1061981298 本贴地址:https://www.yunweiku.com/thread-269885-1-1.html 上篇帖子: 关于TCP的socket的bind函数的IP地址参数的详解 下篇帖子: SSH上传提示:encountered 1 errors during the transfer错误解决办法
累计签到:34 天
连续签到:1 天
发表于 2016-9-12 12:00:55 | 显示全部楼层
{:6_393:}{:6_393:}{:6_393:}{:6_393:}

运维网声明 1、欢迎大家加入本站运维交流群:群②:261659950 群⑤:202807635 群⑦870801961 群⑧679858003
2、本站所有主题由该帖子作者发表,该帖子作者与运维网享有帖子相关版权
3、所有作品的著作权均归原作者享有,请您和我们一样尊重他人的著作权等合法权益。如果您对作品感到满意,请购买正版
4、禁止制作、复制、发布和传播具有反动、淫秽、色情、暴力、凶杀等内容的信息,一经发现立即删除。若您因此触犯法律,一切后果自负,我们对此不承担任何责任
5、所有资源均系网友上传或者通过网络收集,我们仅提供一个展示、介绍、观摩学习的平台,我们不对其内容的准确性、可靠性、正当性、安全性、合法性等负责,亦不承担任何法律责任
6、所有作品仅供您个人学习、研究或欣赏,不得用于商业或者其他用途,否则,一切后果均由您自己承担,我们对此不承担任何法律责任
7、如涉及侵犯版权等问题,请您及时通知我们,我们将立即采取措施予以解决
8、联系人Email:admin@iyunv.com 网址:www.yunweiku.com

尚未签到

发表于 2022-8-3 13:11:56 | 显示全部楼层

运维网声明 1、欢迎大家加入本站运维交流群:群②:261659950 群⑤:202807635 群⑦870801961 群⑧679858003
2、本站所有主题由该帖子作者发表,该帖子作者与运维网享有帖子相关版权
3、所有作品的著作权均归原作者享有,请您和我们一样尊重他人的著作权等合法权益。如果您对作品感到满意,请购买正版
4、禁止制作、复制、发布和传播具有反动、淫秽、色情、暴力、凶杀等内容的信息,一经发现立即删除。若您因此触犯法律,一切后果自负,我们对此不承担任何责任
5、所有资源均系网友上传或者通过网络收集,我们仅提供一个展示、介绍、观摩学习的平台,我们不对其内容的准确性、可靠性、正当性、安全性、合法性等负责,亦不承担任何法律责任
6、所有作品仅供您个人学习、研究或欣赏,不得用于商业或者其他用途,否则,一切后果均由您自己承担,我们对此不承担任何法律责任
7、如涉及侵犯版权等问题,请您及时通知我们,我们将立即采取措施予以解决
8、联系人Email:admin@iyunv.com 网址:www.yunweiku.com

回复 支持 反对

使用道具 举报

您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

扫码加入运维网微信交流群X

扫码加入运维网微信交流群

扫描二维码加入运维网微信交流群,最新一手资源尽在官方微信交流群!快快加入我们吧...

扫描微信二维码查看详情

客服E-mail:kefu@iyunv.com 客服QQ:1061981298


QQ群⑦:运维网交流群⑦ QQ群⑧:运维网交流群⑧ k8s群:运维网kubernetes交流群


提醒:禁止发布任何违反国家法律、法规的言论与图片等内容;本站内容均来自个人观点与网络等信息,非本站认同之观点.


本站大部分资源是网友从网上搜集分享而来,其版权均归原作者及其网站所有,我们尊重他人的合法权益,如有内容侵犯您的合法权益,请及时与我们联系进行核实删除!



合作伙伴: 青云cloud

快速回复 返回顶部 返回列表