(1). 安装软件.
你现在准备安装软件; 这通常需要超级用户权限:
yum list openldap*
yum install openldap openldap-clients openldap-servers -y
(2)cd /etc/openldap
ls
你会看到cacerts ldap.conf schema slapd.d
编辑配置文件.
首先你删除openldap的配置文件目录,不然它不会读/etc/openldap/slapd.conf
rm -rf /etc/openldap/slapd.d
mv slapd.conf.bak slapd.conf
vi slapd.conf
suffix "dc=sushan.org"//一定要与rootdn中相同
rootdn "cn=Manager,dc=sushan.org"
rootpw sushan(z需要特别注意的是rootpw和sushan之间必须是2个tab健,否则在后面测试的时候会报错)ldappasswd是修改ldap用户密码的。
(3)cd /var/lib/ldap
复制模板文件,不然重启的时候会报错valid(49)说是不合法的密码的错误。
cp /usr/share/doc/openldap-servers-2.4.19/DB_CONFIG.example .
mv DB_CONFIG.example DB_CONFIG
chown ldap.ldap DB_CONFIG
(4)/etc/init.d/sladp start
此时你在/var/lib/ldap
ll 会看到一些db文件。
(5)ldapsearch -b "dc=sushan.org" -x 用于搜索查询(此时看到的东西很少)
-b 指定用作搜索起始点的专有名称。使用引号来指定该值
-x 用于对搜索得到的信息进行排序。
(6)
useradd ldapuser1
useradd ldapuser2
useradd ldapuser3
passwd ldapuser1
sushan
passwd ldapuser2
sushan
passwd ldapuser3
sushan
(7)cd /usr/share/doc/openldap-servers-2.4.19/
less README.migration
会看到帮助文档需要你安装
yum install migrationtools -y(一种迁移工具)
安装成功之后会在/usr/share下出现migrationtools
cd /usr/share/migrationtools
有一组 Perl 脚本被安装到 /usr/share/openldap/migration/ 中执行迁移。这些 Perl 脚本的配置信息包含在 migrate_common.ph 文件的开头。对于我们的目的来说,只需要修改命名前缀的变量来使用条目的识别名就足够了,如下所示:
vi migrate_common.ph
# Default DNS domain
$DEFAULT_MAIL_DOMAIN = "sushan.org";
# Default base
$DEFAULT_BASE = "dc=sushan.org";
在进行这些修改之后,请运行脚本 migrate_base.pl,它会创建根项,并为 Hosts、Networks、Group 和 People 等创建低一级的组织单元
(8)./migrete_base.pl > base.ldif
编辑 vim base.ldif,删除除下面之外的所有条目:
dn: dc=sushan.org
dc: sushan.org
objectClass: top
objectClass: domain
dn: ou=People,dc=sushan.org
ou: People
objectClass: top
objectClass: organizationalUnit
dn: ou=Group,dc=sushan.org
ou: Group
objectClass: top
objectClass: organizationalUnit
同样的: ./migrete_passwd.pl > user.ldif
编辑 vim user.ldif,删除除下面之外的所有条目:
dn: uid=ldapuser1,ou=People,dc=sushan.org
uid: ldapuser1
cn: ldapuser1
..........
homeDirectory: /home/ldapuser1
dn: uid=ldapuser2,ou=People,dc=sushan.org
uid: ldapuser2
cn: ldapuser2
............
homeDirectory: /home/ldapuser2
dn: uid=ldapuser3,ou=People,dc=sushan.org
uid: ldapuser3
cn: ldapuser3
............
homeDirectory: /home/ldapuser3
然后ldapsearch -b "dc=sushan.org" -x可以看到后面显示添加的三个用户。
./migrete_group.pl > groups.ldif
编辑 vim groups.ldif,删除除下面之外的所有条目:
dn: cn=ldapuser1,ou=Group,dc=sushan.org
objectClass: posixGroup
objectClass: top
cn: ldapuser1
userPassword: {crypt}x
gidNumber: 601
dn: cn=ldapuser2,ou=Group,dc=sushan.org
.............
gidNumber: 602
此时在/usr/share/mig
dn: cn=ldapuser3,ou=Group,dc=sushan.org
.........
gidNumber: 603
此时 cd /usr/share/migrationtools
ll base.ldif goups.ldif user.ldif
测试:
ldapadd -D “cn=manager,dc=sushan.org” -W -x -f base.ldif
Enter LDAP Password:(输入你刚才设置的密码)
正确之后会显示:
adding new entry “dc=sushan.org”
adding new entry “ou=People,dc=sushan.org”
adding new entry “ou=Group,dc=sushan.org”
ldapadd -D “cn=manager,dc=sushan.org” -W -x -f user.ldif
Enter LDAP Password:(输入你刚才设置的密码)
正确之后会显示:
adding new entry “uid=ldapuser1,ou=People,dc=sushan.org”
adding new entry “uid=ldapuser2,ou=People,dc=sushan.org”
adding new entry “uid=ldapuser3,ou=People,dc=sushan.org”
ldapadd -D “cn=manager,dc=sushan.org” -W -x -f groups.ldif
Enter LDAP Password:(输入你刚才设置的密码)
正确之后会显示:
adding new entry “uid=ldapuser1,ou=Group,dc=sushan.org”
adding new entry “uid=ldapuser2,ou=Group,dc=sushan.org”
adding new entry “uid=ldapuser3,ou=Group,dc=sushan.org”
此时运行: ldapsearch -b “dc=sushan.org” -x (查询命令)
(另外还有一种方式查看ldapuser用户的图形界面配置。cd /var/www/html lftp 192.168.0.254 cd pub/docs get phpldapadmin-1.2.2.tgz(记得版本不要下错啊!否则可能造成无法使用) tar zxf phpldapadmin-1.2.2.tgz cd phpldapadmin-1.2.2 cd ../ mv phpldapadmin-1.2.2 myldap cd myldap cp config.php.example config.php,还有记得要装yum install php-ldap php -y /etc/init.d/httpd restart 然后打开浏览器可以类似的用http://192.168.0.139/myldap访问ldap登录的时候:login in:cn=manager,dc=sushan.org)
实验二:
Openldap 同步:假设IP:192.168.0.139是主服务器,IP:192.168.0.39是辅助的ldap服务器。用139去同步39的。
(1)在 IP:192.168.0.139 上:/etc/init.d/sldap stop
cd /var/lib/ldap
scp * 192.168.0.39:/var/lib/ldap (最终证实这是不对的,这样在辅助ldap服务器上根本启不来,你需要在39这个辅助ldap服务器上重新安装yum list openldap*
yum install openldap openldap-clients openldap-servers -y cd /etc/openldap rm -rf /etc/openldap/slapd.d mv slapd.conf.bak slapd.conf
vi slapd.conf
suffix "dc=sushan,dc=org"//或者可以写在一起"dc=sushan.org"
rootdn "cn=Manager,dc=sushan.org"
rootpw sushan
cd /var/lib/ldap cp /usr/share/doc/openldap-servers-2.4.19/DB_CONFIG.example . mv DB_CONFIG.example DB_CONFIG chown ldap.ldap DB_CONFIG /etc/init.d/sladp start 此时你在/var/lib/ldap ll 会看到一些db文件。)
(2)在主服务器192.168.0.139:
modulepath /usr/lib64/openldap
moduleload syncprov.la
上大约119行后:
suffix "dc=sushan.org"
rootdn "cn=Manager,dc=sushan.org"
rootpw sushan
overlay syncprov
syncprov-checkpoint 100 10
syncprov-sessionlog 100
updatedn cn=Manager,dc=sushan.org
database monitor
# allow onlu rootdn to read the monitor
#access to *
# by dn.exact="cn=Manager,dc=my-domain,dc=com" read
# by * none
/etc/init.d/sldap start
(3)在辅助服务器上192.168.0.39:
suffix "dc=sushan.org"
rootdn "cn=Manager,dc=sushan.org"
rootpw sushan
syncrepl rid=0
provider=ldap://192.168.0.139:389
bindmethod=simple
binddn="cn=Manager,dc=sushan.org"
credentials=sushan
searchbase="dc=sushan.org"
schemachecking=on
type=refreshAndPersist
retry="60 +"
database monitor
# allow onlu rootdn to read the monitor
#access to *
# by dn.exact="cn=Manager,dc=my-domain,dc=com" read
# by * none
/etc/init.d/sldap start
(4)测试:
在主从上分别查看ldapsearch -b “dc=sushan.org” -x
ldapadd -D "cn=manager,dc=sushan.org" -W -x -f user.ldif
`在主从上分别查看ldapsearch -b “dc=sushan.org” -x
可以看到两个主从服务器上均增加一个域。
在主服务器上: ldapdelete -W -x -D "cn=manager,dc=sushan.org" "uid=ldapuser1,ou=People,dc=sushan.org "
ldapsearch -b “dc=sushan.org” -x
阅读(2085) | 评论(0) | 转发(0) |