导入linux系统用户到ldap中的方法

有时做mail系统时,我们要转移系统的用户到mail的ldap目录之类,就可以使用下面的方法。

在/usr/share/openldap/migration/目录中有一些Perl脚本,这些脚本可以将/etc/group中的组,以及/etc/passwd和/etc/shadow中的用户名和密码导出成.ldif格式的文件,供OpenLDAP服务器使用。这些脚本也可以到http://www.padl.com/下载。

首先,编辑migrate_common.ph文件,分别给“$DEFAULT_MAIL_DOMAIN”和“$DEFAULT_BASE”赋值:

$DEFAULT_MAIL_DOMAIN
"tiantian.com";
$DEFAULT_BASE = "dc=tiantian.com";

注意,所赋的值要和/etc/sldap.conf中的设置相对应(dc=tiantian.com)。

然后,执行以下脚本,将OpenLDAP服务器初始化所需要的资料写入/root/base.ldif文件:

# ./migrate_base.pl > /root/base.ldif
# ./migrate_group.pl /etc/group >> /root/base.ldif
# ./migrate_passwd.pl /etc/passwd >> /root/base.ldif

随后执行如下命令:

# ldapadd -x -D 'cn=Manager,dc=tiantian.com' -W -f /root/base.ldif

这样,就将所有组、用户名及其密码等信息导入了LDAP服务器。