- A+
(按照这方法安装确实没问题,但使用ldapbrowser.exe时,设置的密码没用,还是选择的匿名连接成功)
关于OpenLDAP
OpenLDAP 是一个轻量级的目录权限协议,由OpenLDAP开发项目. 也是一个独立的协议,所有支持所有的Linux/Unix like 系统, Windows, AIX, Solaris 和Android.
OpenLDAP 包含有:
-
slapd – 标准独立的 LDAP 进程(server)
-
LDAP继承的库, 工具, 和简单的客户端
本文我将介绍怎么安装OpenLDAP 和怎么在Ubuntu/Debian上配置OpenLDAP. 本教程我是在Ubuntu15.10上测试的,当然这些步骤也适合Debian7/8和更早的Ubuntu版本, 含Ubuntu 15.04/14.10/14.04 etc.
这是我测试系统的详细信息:
-
操作系统 : Ubuntu 15.10 64 位服务器
-
主机: server.unixmen.local
-
IP地址: 192.168.1.103/24
首先我们来看怎么安装openLDAP.
1. 在Ubuntu 15.10 / Debian 8安装OpenLDAP
输入下面的命令
Switch to root user:
sudo su
或
su
执行
apt-get install slapd ldap-utils
安装的时候你需要输入LDAP管理员密码,输入密码即可
确认密码.
OpenLDAP就安装好了下面就来配置下
2. 配置OpenLDAP
编辑“/etc/ldap/ldap.conf” 文件,
vi /etc/ldap/ldap.conf
找出、删除注视和替换 ‘BASE’ 和‘ URI’ 的值,对于你的域名和IP地址即可
# # LDAP Defaults # # See ldap.conf(5) for details # This file should be world readable but not world writable.BASE dc=unixmen,dc=localURI ldap://server.unixmen.local ldap://server.unixmen.local:666#SIZELIMIT 12 #TIMELIMIT 15 #DEREF never # TLS certificates (needed for GnuTLS) TLS_CACERT /etc/ssl/certs/ca-certificates.crt
保存文件
接下来我们需要通过更新后的值来配置slapd
dpkg-reconfigure slapd
然后就会出现下面截图这样的,选择“no”,按下enter
输入DNS.
输入公司名 (i.e 你自己的公司名).
输入LDAP 的管理密码(上面安装的时候你输入的)
再次确认密码
选择后面的数据库,就让默认好了
选择你是否要自动删除数据库或者留到slapd被删除的时候才删除. 我想保留旧的数据库,所以选择了 No.
选择yes就会删除旧的数据库
选择No然后按下Enter
就这些了,现在我们已经成功了安装好了OpenLDAP,下面我们就来看下它是否能正常的运行
测试LDAP服务
执行下面的命令来测试 OpenLDAP:
ldapsearch -x
输出示例:
# extended LDIF # # LDAPv3 # base <dc=unixmen,dc=local> (default) with scope subtree # filter: (objectclass=*) # requesting: ALL # # unixmen.local dn: dc=unixmen,dc=local objectClass: top objectClass: dcObject objectClass: organization o: unixmen dc: unixmen # admin, unixmen.local dn: cn=admin,dc=unixmen,dc=local objectClass: simpleSecurityObject objectClass: organizationalRole cn: admin description: LDAP administrator # search result search: 2result: 0 Success# numResponses: 3 # numEntries: 2
如果你看到 ‘Success’ 的话就说明我们的LDAP服务已经安装成功,正在运行了
LDAP服务管理
如果我们要通过命令行的方式来管理LDAP的话会稍微难点,所以我们会使用简单点的GUI管理工具叫做“phpldapadmin”来进行管理、配置LDAP服务.
安装phpLDAPadmin
phpLDAPadmin 是一个基于LDAP的管理工具用来管理LDAP服务,使用phpLDAPadmin,你可以查看LDAP列表、查看LDAP计划、搜索、创建、删除、复制和编辑LDAP等,你还可以从不同服务器之间复制LDAP 的entries
执行下面的命令来安装phpLDAPAdmin:
apt-get install phpldapadmin
创建快捷方式phpldapadmin.
ln -s /usr/share/phpldapadmin/ /var/www/html/phpldapadmin
在Ubuntu 14.10或者更低的版本执行
ln -s /usr/share/phpldapadmin/ /var/www/phpldapadmin
编辑“/etc/phpldapadmin/config.php” 文件,
vi /etc/phpldapadmin/config.php
选择合适的时区,要设置时区、我们可以把下面的这几行取消注视就可以设置时区了
[...] $config->custom->appearance['timezone'] = 'Asia/Kolkata'; [....]
然后向下滚,把域名替换成自己的域名
我们从这文件中找到 “Define LDAP Servers” 部分,然后编辑如下
[...]// Set your LDAP server name //$servers->setValue('server','name','Unixmen LDAP Server'); [...]// Set your LDAP server IP address // $servers->setValue('server','host','192.168.1.103'); [...]// Set Server domain name //$servers->setValue('server','base',array('dc=unixmen,dc=local')); [...]// Set Server domain name again//$servers->setValue('login','bind_id','cn=admin,dc=unixmen,dc=local'); [...]
重启Apache服务
systemctl restart apache2
在Ubuntu 14.10或者更低的版本执行
service apache2 restart
确保你的防火墙规则里面通过了Apache的80断开和LDAP的默认389端口
ufw allow 80
输出示例:
Rules updated Rules updated (v6)
ufw allow 389
输出示例:
Rules updated Rules updated (v6)
上面的步骤对Debian系统是不适合的
测试phpLDAPadmin
打开浏览器访问: “http://IP-Address/phpldapadmin”.
然后会是这样的
在控制面板的左边点击 “login” . 输入LDAP 的管理员密码,然后点击 “Authenticate”.
现在phpldapadmin 的主界面就出来了
你可以使用LDAP的域名 “unixmen.local” 或者左边的其他详细信息
这里你可以添加更多的对象,比如Organizational Unit, Users and groups etc.
创建对象
1. 创建Organizational Unit(OU):
下面我们就来从phpldapadmin的console创建一些简单的对象,首先我们就创建一下OU
在 “dc=unixmen”这里点击 “+” 的图标,然后点击 “Create new entry here”.
向下滚动然后选择 “Generic-Organizational Unit”.
输入Organizational unit名字t (Ex.sales) 然后点击 “Create Object”.
最后点击 “Commit”.
现在我们可以在LDAP 主界面左边看到我们刚创建的OU
2. 创建用户组:
在左边点击sales OU 然后点击 “Create a child entry” .
接下来选择 “Generic: Posix Group”.
输入组的名字点击Create Object 按钮. 我在这里就输入 “sales-group”.
点击Commit 保存设置
在sales OU.现在就可以看到新建的组 “sales-group”
3. 创建用户:
接下来我们就在组 sales-group下面创建用户。
从左边点击 sales-group 选择 Create a child entry 按钮
接下来选择 “Generic: User Account”.
输入详细信息,类似名字,GID成员,最后名字、登录shell、用户密码和用户uID等等,就像下面截图这样的,然后点击 Create object. 比如这里我将会创建用户 “kumar”.
然后点击“Commit” 保存设置
新创建的用户“kumar” w就可以在 “sales-group” 下面找到.
当然你也可以通过下面的命令来验证新创建的是否成功
ldapsearch -x
输出示例:
# extended LDIF # # LDAPv3 # base <dc=unixmen,dc=local> (default) with scope subtree # filter: (objectclass=*) # requesting: ALL # # unixmen.local dn: dc=unixmen,dc=local objectClass: top objectClass: dcObject objectClass: organization o: unixmen dc: unixmen # admin, unixmen.local dn: cn=admin,dc=unixmen,dc=local objectClass: simpleSecurityObject objectClass: organizationalRole cn: admin description: LDAP administrator# sales, unixmen.localdn: ou=sales,dc=unixmen,dc=local objectClass: organizationalUnit objectClass: top ou: sales# sales-group, sales, unixmen.localdn: cn=sales-group,ou=sales,dc=unixmen,dc=local gidNumber: 500 cn: sales-group objectClass: posixGroup objectClass: top# kumar, sales-group, sales, unixmen.localdn: cn=kumar,cn=sales-group,ou=sales,dc=unixmen,dc=local cn:: IGt1bWFy gidNumber: 500 homeDirectory: /home/users/kumar sn: kumar loginShell: /bin/sh objectClass: inetOrgPerson objectClass: posixAccount objectClass: top uidNumber: 1000 uid: kumar # search result search: 2result: 0 Success# numResponses: 6 # numEntries: 5
正如相面提到的,新的对象如‘sales’, ‘sales-group’, 和‘kumar’都成功的在主LDAP域名上创建好了,同理你可以创建很多的对象
在Debian和Ubuntu相关的系统上安装配置OpenLDAP其实很简单的,就算是新手都能在一小时内搞定的
现在开始我们的OpenLDAP旅程吧
- 我的微信
- 这是我的微信扫一扫
- 我的微信公众号
- 我的微信公众号扫一扫