转载请注明出去:http://blog.sina.com.cn/rootking
一:安装OpenLDAP
1:安装OpenLDPA软件
[root@ldap ~]# yum -y install httpd php php-ldap openldap openldap-clients openldap-servers
2:安装配置工具相关软件
[root@ldap ~]# yum -y install lrzsz mysql mysql-server php-mysql
其中lrzsz用来在服务器中上传和下载文件,我们通过rz命令将phpldapadmin、phpMyAdmin上传至服务器的/usr/local/src/目录中
这个实验中可以不安装mysql 和mysql-server,我们安装LAMP平台是为了以后在LAMP+LDAP平台来做其它实验。
3:安装配置工具
[root@ldap ~]# cd /usr/local/src/
[root@ldap src]# tar -xzvf phpldapadmin-1.2.0.5.tgz
[root@ldap src]# tar -zxvf phpMyAdmin-2.11.10-all-languages.tar.gz
[root@ldap src]# mv phpldapadmin-1.2.0.5 /var/www/html/phpldapadmin
[root@ldap src]# mv phpMyAdmin-2.11.10-all-languages /var/www/html/phpmyadmin
二:配置OpenLDAP的主配置文件
1:修改OpenLDAP的主配置文件
[root@ldap ~]# cd /etc/openldap/
[root@ldap openldap]# vim slapd.conf
把/etc/openldap/schema/*.schema的文件都添加时来。
include /etc/openldap/schema/core.schema
include /etc/openldap/schema/cosine.schema
include /etc/openldap/schema/inetorgperson.schema
include /etc/openldap/schema/nis.schema
include /etc/openldap/schema/corba.schema
include /etc/openldap/schema/dyngroup.schema
include /etc/openldap/schema/java.schema
include /etc/openldap/schema/misc.schema
include /etc/openldap/schema/openldap.schema
include /etc/openldap/schema/ppolicy.schema
2:OpenLDAP主配置文件的配置
创建一个rootdnr加密的密码。原密码为“q1w2e3r4”,加密后为“{SSHA}e+Oc+yz/BW29boQbWRmpvM2mjYi8u3Jd”
[root@ldap openldap]# slappasswd -s q1w2e3r4
{SSHA}e+Oc+yz/BW29boQbWRmpvM2mjYi8u3Jd
修改DN,管理员密码和日志级别。密码为刚才加密后的SSHA值。
3:测试
[root@ldap ~]# cp /var/www/html/phpldapadmin/config/config.php.example /var/www/html/phpldapadmin/config/config.php
[root@ldap ~]# service httpd restart
[root@ldap ~]# service ldap restart
在浏览器中输入“http://ldap.wish.com/phpldapadmin”登陆OpenLDAP的WEB管理界面。
如果无法访问需要在防火墙上开启80端口,如果出现403错误需要关闭SELINUX。
(关闭SELINUX的方法:
1:[root@ldap src]# setenforce 0 #临时设置SELinux 成为permissive模式
2:修改/etc/sysconfig/selinux中设置参数SELINUX=disabled,修改后需要重启系统,永久生效。)
进入OpenLDAP的WEB管理界面后选择登陆,输入DN为:cn=root,dc=wish,dc=com、密码为:q1w2e3r4。如果登陆成功证明主配置文件的配置已经完成。
三:使用OpenLDAP的命令来创建域、OU、组和用户。
1:创建域和OU
A、切换至执行文件所在的目录:
[root@ldap ~]# cd /usr/share/openldap/migration/
B、修改文件,来指定我们需要创建的域
[root@ldap migration]# vim migrate_common.ph
$DEFAULT_MAIL_DOMAIN = "wish.com";
$DEFAULT_BASE = "dc=wish,dc=com";
$DEFAULT_MAIL_HOST = "mail.wish.com";
C、生成创建域的LDIF文件
[root@ldap migration]# ./migrate_base.pl > /etc/openldap/wish.ldif
D、编辑wish.ldif文件,只留下wish域和People的OU,删除其它无用的OU
[root@ldap migration]# vim /etc/openldap/wish.ldif
在VI里删除其它无用的OU。
E、创建wish的域和People的OU
[root@ldap migration]# ldapadd -v -c -x -D "cn=root,dc=wish,dc=com" -w q1w2e3r4 -f /etc/openldap/wish.ldif
ldap_initialize( <DEFAULT> )
add dc:
wish
add objectClass:
top
domain
adding new entry "dc=wish,dc=com"
modify complete
add ou:
People
add objectClass:
top
organizationalUnit
adding new entry "ou=People,dc=wish,dc=com"
modify complete
2、创建组
A、在系统中创建一个名为user的组
[root@ldap migration]# groupadd user
B、利用/etc/group文件生成LDIF的组导入文件
[root@ldap migration]# cat /etc/group > group.in
C、删除不用导入到LDAP中的系统组
[root@ldap migration]# vim group.in
利用VI删除除user以外所有的记录
D、利用group.in生成LDIF文件
[root@ldap migration]# ./migrate_group.pl group.in > /etc/openldap/group.ldif
E、修改/etc/openldap/group.ldif文件,将OU=Group更改成OU=People
F、创建user组到LDAP中
[root@ldap migration]# ldapadd -x -c -D "cn=root,dc=wish,dc=com" -w q1w2e3r4 -f /etc/openldap/group.ldif
adding new entry "cn=user,ou=People,dc=wish,dc=com"
3、创建用户
A、创建users.list文件,并输入要创建的用户用密码
[root@ldap migration]# vi users.list
user01 q1w2e3r4
user02 q1w2e3r4
user03 q1w2e3r4
user04 q1w2e3r4
user05 q1w2e3r4
user06 q1w2e3r4
B、创建将users.list里的用户用密码导入到系统中的脚本,给予执行权限并执行该脚本
[root@ldap migration]# vi user-add.sh
#!/bin/bash
for i in `awk '{print $1}' users.list`
do
useradd $i
grep "\<$i\>" users.list | awk '{print $2}' | passwd --stdin $i
done
[root@ldap migration]# chmod +x user-add.sh
[root@ldap migration]# sh user-add.sh
Changing password for user user01.
passwd: all authentication tokens updated successfully.
Changing password for user user02.
passwd: all authentication tokens updated successfully.
Changing password for user user03.
passwd: all authentication tokens updated successfully.
Changing password for user user04.
passwd: all authentication tokens updated successfully.
Changing password for user user05.
passwd: all authentication tokens updated successfully.
Changing password for user user06.
passwd: all authentication tokens updated successfully.
C、利用/etc/ passwd文件生成LDIF的用户导入文件
[root@ldap migration]# cat /etc/passwd > user.in
D、删除不用导入到LDAP中的系统用户,并将要导入的用户的组都设置成500,即都属于刚才创建的user组
[root@ldap migration]# vim user.in
E、利用user.in生成LDIF文件
[root@ldap migration]# ./migrate_passwd.pl user.in > /etc/openldap/user.ldif
F、创建用户到LDAP中
[root@ldap migration]# ldapadd -x -c -D "cn=root,dc=wish,dc=com" -w q1w2e3r4 -f /etc/openldap/user.ldif
adding new entry "uid=user01,ou=People,dc=wish,dc=com"
adding new entry "uid=user02,ou=People,dc=wish,dc=com"
adding new entry "uid=user03,ou=People,dc=wish,dc=com"
adding new entry "uid=user04,ou=People,dc=wish,dc=com"
adding new entry "uid=user05,ou=People,dc=wish,dc=com"
adding new entry "uid=user06,ou=People,dc=wish,dc=com"
四:测试
1:WEB测试
在浏览器中输入“http://ldap.wish.com/phpldapadmin”登陆OpenLDAP的WEB管理界面
进入OpenLDAP的WEB管理界面后选择登陆,输入DN为:uid=wish01,ou=People,dc=wish,dc=com、密码为:q1w2e3r4。如果登陆成功,则证明创建的OU和用户已成功。
登陆之后可以看见刚才创建的域、OU、组、和用户
2:配置 LDAP 客户机
[root@ldap ~]# authconfig-tui
选择LDAP认证,并填写正确的SERVER地址和BASE DN
客户机最重要的一条 要在/etc/pam.d/system-auth文件下,添加一行,如下: session required pam_mkhomedir.so skel=/etc/skel umask=0022 如不加这行的话,在服务器端登陆的时候,会提示,没创建家目录,登陆到客户机的时候,直接就到了客户机的根目录下了。。加上的话,在登陆的时候,可以看到creating ....家目录在客户机上被创建
[root@ldap ~]# vim /etc/pam.d/system-auth
session required pam_mkhomedir.so skel=/etc/skel umask=0022