首页 > 代码库 > Openldap导入数据(三)
Openldap导入数据(三)
无论是通过本地系统用户和组转换为ldap相关数据,还是通过ldif文件导入,都无法做到所见即所得,仿佛openldap就无法有一个真正可视化的操作界面一样。我们都知道,通过本地系统转换步骤繁琐,通过ldif进行导入或ldapadd交互命令录入又容易出错,且需要对ldap数据结构特别清晰,所以如果有可视化的界面的话,对openldap的管理和编辑就会变得大大简化。值得高兴的是,这种可视化的工具很早就出现了,而且大大提高了我们的工作效率,在此就分别介绍一下Linux上和Windows上的ldap可视化管理工具。
Linux上的ldap管理工具
首先是Linux上的,主要介绍Ldap Account Manager和PhpLdapAdmin这两个软件,由于在Linux上进行可视化操作,都是借助于web的方式进行展现,所以需要安装web软件。而这两款软件都是基于php开发,所以还需要安装php以及运行库进行支持。由于是测试,我就将openldap和客户端管理软件(LAM和PLA)安装在同一台Linux上,如果是生产环境,可以考虑分别部署。
1、Ldap Account Manager的安装介绍
首先,我对虚拟机进行一个快照的还原,还原到之前完成openldap安装,但是还没有导入任何数据的状态,先进行一个查询进行确认。这仅仅是为了确认,环境是刚刚部署的,且在没有任何数据的情况下,如何通过Ldap Account Manager进行数据的初始化和数据的补充完善。
[root@ldapsrv01 ~]# 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
1)安装依赖软件包
yum install -y httpd php php-ldap php-gd
2)下载ldap account manager源码包
wget http://jaist.dl.sourceforge.net/project/lam/LAM/4.2/ldap-account-manager-4.2.tar.gz
3)修改配置
mv ldap-account-manager-4.2.tar.gz /var/www/html/ cd /var/www/html/ tar -zxf ldap-account-manager-4.2.tar.gz mv ldap-account-manager ldap cd ldap/config [root@ldapsrv01 config]# ll total 28 -rw-r--r-- 1 root root 241 Mar 26 2012 config.cfg_sample -rw-r--r-- 1 root root 2408 Mar 26 2012 lam.conf_sample -rw-r--r-- 1 root root 1041 Mar 26 2012 language drwxr-xr-x 3 root root 4096 Mar 26 2012 pdf drwxr-xr-x 2 root root 4096 Mar 26 2012 profiles drwxr-xr-x 2 root root 4096 Mar 26 2012 selfService -rw-r--r-- 1 root root 183 Mar 26 2012 shells cp config.cfg_sample config.cfg cp lam.conf_sample lam.conf sed -i ‘s/cn=Manager/cn=admin/g‘ lam.conf sed -i ‘s/dc=my-domain/dc=contoso/g‘ lam.conf sed -i ‘/treesuffix/s/dc=mydomain,dc=org/dc=contoso,dc=com/‘ lam.conf #注意这里要修改,不然你在web界面看不到自己的域树 [root@ldapsrv01 config]# diff lam.conf_sample lam.conf 8c8 < serverURL: ldap://localhost:389 --- > serverURL: ldap://192.168.49.138:389 13c13 < admins: cn=Manager,dc=my-domain,dc=com --- > admins: cn=admin,dc=contoso,dc=com 20c20 < treesuffix: dc=yourdomain,dc=org --- > treesuffix: dc=contoso,dc=com 55c55 < types: suffix_user: ou=People,dc=my-domain,dc=com --- > types: suffix_user: ou=People,dc=contoso,dc=com 59c59 < types: suffix_group: ou=group,dc=my-domain,dc=com --- > types: suffix_group: ou=group,dc=contoso,dc=com 63c63 < types: suffix_host: ou=machines,dc=my-domain,dc=com --- > types: suffix_host: ou=machines,dc=contoso,dc=com 67c67 < types: suffix_smbDomain: dc=my-domain,dc=com --- > types: suffix_smbDomain: dc=contoso,dc=com
4)启动apache服务
chown -R apache:apache /var/www/html/ldap /etc/init.d/httpd start
5)浏览器打开并在web中管理ldap
好吧,输入http://192.168.49.138/ldap/templates/tree/treeViewContainer.php, 就会看到LAM的登录界面,输入管理员的密码,选择喜欢的语言,登录。
由于我的openldap没有任何数据,包括base等信息,这里提示帮助我进行创建,同意就好。
base,people等信息创建完成之后,我先创建一个组,然后再向这个组中添加用户,选择组,然后新组。
输入组的相关信息,保存即可成功创建一个用户组。
再选择用户标签,新建一个用户,首先输入用户个人信息,
然后是Unix信息,也即在Linux Server上的用户名密码等信息,类似于/etc/passwd保存的信息。
还有Shadow属性,如果有需要使用的话,可以启动该扩展。
关于samba的设置,如果有samba服务器的话,可以在此添加相关设置。
最后,给用户设置一个密码,确定完成。
点击保存按钮,用户的新建也就完成了。
回到用户标签,可以查看创建好的用户,当然也可以对用户进行编辑和删除等操作,也就是说,用户的增删改查都在这里进行。
回到组标签中,可以查看创建好的组,跟用户标签一样,对组的增删改查都可以在这里进行。
点击右上角的“树状结构”可以看到域树,有点类似Windows AD的结构,能对域的结构一目了然。
补充一点:
如果这里无法显示,那么结果的方法是:
第一:检查域的base节点是否创建,如果没有可以通过ldif导入或者手工录入。
第二:注意lam.conf中的treesuffix是否修改为自己的域名,默认为mydomain.org。
第三:检查LAM版本,如果前两步都已修改扔无法显示,可以考虑换更新的版本进行尝试。我的配置使用LAM3.7无法显示,换4.2能正常显示。
关于Lamp Account Manager的使用说明,就到此为止了。
2、PhpLadpAdmin的安装介绍
下面就直接在上面的基础上进行PLA的安装,因为PLA和LAM一样都依赖于php和apache,这里就省略安装过程了。
1)安装依赖软件包
yum install -y httpd php php-ldap php-gd
2)下载phpldapadmin软件包
wget http://nchc.dl.sourceforge.net/project/phpldapadmin/phpldapadmin-php5/1.2.3/phpldapadmin-1.2.3.zip
3)修改phpldapadmin配置文件
mv phpldapadmin-1.2.3.zip /var/www/html/ cd /var/www/html/ unzip phpldapadmin-1.2.3.zip mv phpldapadmin-1.2.3 phpldapadmin cd phpldapadmin/config [root@ldapsrv01 config]# ll total 28 -rw-r--r-- 1 root root 24935 Oct 1 2012 config.php.example cp config.php.example config.php
#其实如果openldap和phpldapadmin装在同一台服务器上,只需拷贝config.php即可,无须进行下面配置文件的修改,但是最好还是进行修改,万一某一天需要迁移phpldapadmin到别的server,直接拷贝配置文件即可
vi config.php
需要修改的地方主要有:
将$ldapservers->SetValue($i,’server’,‘name’,‘My LDAP Server’);这一行之后的如下内容:
// $ldapservers->SetValue($i,’server’,‘host’,’127.0.0.1′);
// $ldapservers->SetValue($i,’server’,‘port’,’389′);
// $ldapservers->SetValue($i,’server’,‘base’,array(”));
// $ldapservers->SetValue($i,’server’,‘auth_type’,‘cookie’);
# $ldapservers->SetValue($i,’login’,‘dn’,‘cn=Manager,dc=example,dc=com’);
# $ldapservers->SetValue($i,’login’,‘pass’,‘secret’);
依次对应修改为:
$ldapservers->SetValue($i,’server’,‘host’,‘192.168.49.138’);
$ldapservers->SetValue($i,’server’,‘port’,’389′);
$ldapservers->SetValue($i,’server’,‘base’,array(‘dc=contoso,dc=com’));
$ldapservers->SetValue($i,’server’,‘auth_type’,‘cookie’);
$ldapservers->SetValue($i,’login’,‘dn’,‘cn=admin,dc=contoso,dc=com’);
$ldapservers->SetValue($i,’login’,‘pass’,‘’); #这里留空,需要在浏览器中填写,不建议将dn的密码明文写在此处
4)启动apache服务
chown -R apache:apache /var/www/html/phpldapadmin /etc/init.d/httpd restart #因为我在部署LAM的时候已经启动了httpd,所以这里用重启命令
5)在浏览器中通过PLA管理ldap
打开浏览器,输入地址:http://192.168.49.138/phpldapadmin/index.php ,然后选择登录。
注意:如果这里点击登录之后,出现一系列的错误,且错误信息包含:Php版本和PLA版本等信息,那就是因为版本不匹配,我的PHP版本是5.3.3,使用PLA 1.1.0就无法登录,出现包含php版本以及PLA版本的错误信息,于是更换PLA 1.2.3,更新PLA版本之后一切正常。
这里登录之后看到的界面,左侧是域的树状结构,右侧是对应的详细信息。
因为用户组sudoers已经在LAM创建过了,这里只演示创建一个新的用户。选择sudoers组,然后在右侧选择“创建一个子条目”。
在右侧的创建对象菜单中选择要创建对象的类型,可以看到PLA中的对象类型是相当丰富的,这里选择Generic: User Account。
键入用户的详细信息,然后选择“创建对象”。
最后给出新建对象的概览信息,同时这也是确认信息的操作,确认无误则提交,如果有问题还可以取消操作,我觉得这个步骤还是蛮人性化的,这里提交。
好的,用户创建成功,可以在左侧域树种看到,同样也可以点击用户在右侧查看详细信息。
如果要查看ldap相关的objectClass属相,可以选择“显示内部属性”。
再回到LAM中,刷新一下就可以看到在PLA中添加的用户了,这两个工具都可以对用户进行管控,并且可以管理对方创建的用户,所以无须担心多个管理者使用工具的不同造成数据无法统一管理,不同的只是工具,数据还是统一的,这点要注意。
本文出自 “IT小二郎” 博客,请务必保留此出处http://jerry12356.blog.51cto.com/4308715/1851408
Openldap导入数据(三)