因為 LDIF 格式有一定的格式,如果完全使用手動來建立,是一件很累的工作,尤其是要處理的帳號很多時,這時可以利用 migrationtools 工具來協助產生 LDIF 格式檔,再視情況做修改。
1. 安裝 migrationtools 工具
# yum install migrationtools
安裝完成之後,可以在 /usr/share/migrationtools 目錄下找到很多以 .sh .pl 的程序檔
[root@localhost:/usr/share/migrationtools]
# ls
migrate_aliases.pl* migrate_all_nis_online.sh* migrate_all_online.sh* migrate_fstab.pl* migrate_netgroup_byuser.pl* migrate_profile.pl* migrate_slapd_conf.pl*
migrate_all_netinfo_offline.sh* migrate_all_nisplus_offline.sh* migrate_automount.pl* migrate_group.pl* migrate_netgroup.pl* migrate_protocols.pl*
migrate_all_netinfo_online.sh* migrate_all_nisplus_online.sh* migrate_base.pl* migrate_hosts.pl* migrate_networks.pl* migrate_rpc.pl*
migrate_all_nis_offline.sh* migrate_all_offline.sh* migrate_common.ph migrate_netgroup_byhost.pl* migrate_passwd.pl* migrate_services.pl* [@more@]2. 修改 /usr/share/migrationtools/migrate_common.ph
# vim /usr/share/migrationtools/migrate_common.ph
修改下面的值
# Default DNS domain
$DEFAULT_MAIL_DOMAIN = ” ilc.edu.tw “;
# Default base
$DEFAULT_BASE = ” dc=ldap,dc=tces.ilc.edu.tw “;
$EXTENDED_SCHEMA = 1;
3. 建立存放 ldif 檔案的目錄
# mkdir /root/ldif
4. 從系統帳號中取出要的資料
# grep t850008 /etc/passwd > /root/ldif/t850008.passwd
# grep ^s0990 /etc/passwd | sort > /root/s0990.passwd
# cat /root/ldif/s0990.passwd | head -2
s0990001:x:1390:505:四愛12林○瑋:/home/s0990/s0990001:/sbin/nologin
s0990002:x:1391:505:四愛13林○豪:/home/s0990/s0990002:/sbin/nologin
5. 從系統群組中取出要的資料
# egrep ‘teacher|s0990’ /etc/group > /root/ldif/group
# cat /root/ldif/group
teacher:x:500:
s0990:x:505:
6. 使用 migrationtools 工具
# cd /usr/share/migrationtools
# ./migrate_base.pl > /root/ldif/base.ldif
# ./migrate_passwd.pl /root/ldif/t850008.passwd > /root/ldif/t850008.ldif
# ./migrate_passwd.pl /root/ldif/s0090.passwd > /root/ldif/s0990.ldif
# ./migrate_group.pl /root/ldif/group > /root/ldif/group.ldif
7. 開始匯入
# service slapd stop
# slapadd -l /root/ldif/base.ldif
The first database does not allow slapadd; using the first available one (2)
_#################### 100.00% eta none elapsed none fast!
Closing DB…
# slapadd -l /root/ldif/t850008.ldif
# slapadd -l /root/ldif/s0990.ldif
# slapadd -l /root/ldif/group.ldif
8. 啟動 LDAP Server
# chown -R ldap:ldap /var/lib/ldap
# service slapd start