ubuntu12.04安装ldap
版权声明:本文系作者原创。未经许可,不得转载。
1、修改/etc/hosts
$ sudo vim /etc/hosts
添加或修改一行
127.0.1.1 hostname.example.com hostname
hostname可以通过运行命令获得。
$ hostname
OptiPlex-7010
在安装ldap时,会读取这一行,创建默认根结点base dn 为dc=example,dc=com。
2、安装ldap-utils slapd
$ sudo aptitude install ldap-utils slapd
安装过程中设置管理员用户的密码,如secret。
安装完成后,会自动添加管理员账户cn=admin, dc=example,dc=com。
3、安装网页客户端phpldapadmin
$ sudo aptitude install phpldapadmin
修改apache或nginx的配置文件,添加域名和端口,并使其指向/usr/share/phpldapadmin/。
修改/usr/share/phpldapadmin/config/config.php。
$ sudo vim /usr/share/phpldapadmin/config/config.php
修改其中的两行:
$servers->setValue('server','base',array('dc=example,dc=com'));#LDAP server的Base DNs
$servers->setValue('login','bind_id','cn=admin,dc=example,dc=com');#登陆框默认Login DN
在浏览器打开上述域名和端口,输入管理员帐号和密码,即可使用网页客户端登陆ldap数据库。
4、导入数据
$ sudo ldapadd -H ldap://127.0.0.1 -x -D "cn=admin,dc=example,dc=com" -f export.ldif -w secret
export.ldif为需要导入的数据文件。一般从别的ldap数据库导出而来。
cn=admin,dc=example,dc=com为管理员账户。
secret为管理员密码。
5、查看数据库
$ sudo slapcat
如果出现下列内容,说明安装正确。
dn: dc=example,dc=com
objectClass: top
objectClass: dcObject
objectClass: organization
o: example.com
dc: example
structuralObjectClass: organization
entryUUID: 67286340-ed5a-1034-8b78-1134e712f9e6
creatorsName: cn=admin,dc=example,dc=com
createTimestamp: 20150912052519Z
entryCSN: 20150912052519.749367Z#000000#000#000000
modifiersName: cn=admin,dc=example,dc=com
modifyTimestamp: 20150912052519Z
dn: cn=admin,dc=example,dc=com
objectClass: simpleSecurityObject
objectClass: organizationalRole
cn: admin
description: LDAP administrator
userPassword:: e1NTSEF9TmxrVkJLZDRkYUp0cU9NMEZhMlZPVktQZnVUeVIvakE=
structuralObjectClass: organizationalRole
entryUUID: 67407200-ed5a-1034-8b79-1134e712f9e6
creatorsName: cn=admin,dc=example,dc=com
createTimestamp: 20150912052519Z
entryCSN: 20150912052519.907027Z#000000#000#000000
modifiersName: cn=admin,dc=example,dc=com
modifyTimestamp: 20150912052519Z
6、常见错误
在查看数据时,如果出现下列内容,则说明安装错误。
$ sudo slapcat
dn: dc=nodomain
objectClass: top
objectClass: dcObject
objectClass: organization
o: nodomain
dc: nodomain
structuralObjectClass: organization
entryUUID: 67dfd1e2-ed50-1034-9d21-2f5306a7bcff
creatorsName: cn=admin,dc=nodomain
createTimestamp: 20150912041345Z
entryCSN: 20150912041345.984216Z#000000#000#000000
modifiersName: cn=admin,dc=nodomain
modifyTimestamp: 20150912041345Z
dn: cn=admin,dc=nodomain
objectClass: simpleSecurityObject
objectClass: organizationalRole
cn: admin
description: LDAP administrator
userPassword:: e1NTSEF9ZkNYVEx6OVdFMjIxWkVZSTJBOTF0dHRwZHlyd3BnRHE=
structuralObjectClass: organizationalRole
entryUUID: 67f0d8a2-ed50-1034-9d22-2f5306a7bcff
creatorsName: cn=admin,dc=nodomain
createTimestamp: 20150912041346Z
entryCSN: 20150912041346.095792Z#000000#000#000000
modifiersName: cn=admin,dc=nodomain
modifyTimestamp: 20150912041346Z
$ ldapsearch -x -LLL -H ldap:/// -b dc=nodomain dn
dn: dc=nodomain
dn: cn=admin,dc=nodomain
在导入数据时,如果出现如下内容,则说明安装错误。
$ sudo ldapadd -H ldap://127.0.0.1 -x -D "cn=admin,dc=nodomain" -f export.ldif -w secret
ldap_add: Server is unwilling to perform (53)
additional info: no global superior knowledge
原因是安装之前没有在/etc/hosts中添加网址。
此时,可以删除ldap-utils slapd,并重新安装。
$ sudo aptitude purge ldap-utils slapd
也可以重新配置。
$ sudo dpkg-reconfigure slapd
7、参看文档
https://help.ubuntu.com/12.04/serverguide/openldap-server.html
辛巴
it男
256 声望
4 粉丝
推荐阅读
mac下编译go-ethereum
macos: 10.14.4 下载go-ethereum源码,按照文档执行命令编译: $ make all 报错:fatal error: 'stdlib.h' file not found /usr/include 查看xcode是否安装: $ xcode-select --install xcode-select: error: com...
lansheng228赞 2阅读 3.3k
Freeipa的简单搭建配置
想把账户统一管理起来,jenkins,gitlab,jumpserver甚至kibana,kubernetes等等。本来搭建过openldap。昨天小伙伴强烈推荐我用一下freeipa......又进入了盲区,没有听过的东西都比较好奇,浅浅的体验一下!freeipa...
对你无可奈何阅读 1.1k
goalng 如何获取 ldap 服务器的数据?
我们工作在和其他组织配合时,我们可能不是作为服务器搭建的一方,而是属于客户端的一方,需要去获取服务器的组织结构,按照某些条件去获取服务器的数据,也可以是同步组织结构
阿兵云原生阅读 1k
ldap 组织结构如何转成多叉树?
工作中,ldap 服务器的对接,可以能会涉及到同步组织结构,认证,认证后处理等等,最近认证还不是我想写的刚需,继续来看看对于组织结构的想法例如同步 AD 域的组织结构,或者是 ldap 协议的其他产品对应的企业组...
阿兵云原生阅读 780
Jumpserver与Freeipa集成(以及其他配置)
jumpserver的安装参照:jumpserver的简单安装使用,Freeipa的安装参照:Freeipa的简单搭建配置。准备将Freeipa与Jumpserver集成。其实Freeipa搭建后linux客户端如果安装了Freeipa client。也能完成用户的授权权限...
对你无可奈何阅读 681
LDAP 是个啥你知道吗?
LDAP 就是一个 轻量目录访问协议, 全称是 (Lightweight Directory Access Protocol),是基于X.500标准的轻量级目录访问协议
阿兵云原生阅读 589
freeipa 与jenkins的集成
jenkins 项目任务区分以环境开头qa-xxx是qa 服务器任务 develop-xxx为开发环境任务,当然了还可以有master-xxx master环境任务!这里主要是演示验证。仅演示develop qa两个实例任务!
对你无可奈何阅读 412
**粗体** _斜体_ [链接](http://example.com) `代码` - 列表 > 引用
。你还可以使用@
来通知其他用户。