版权声明:本文为博主九师兄(QQ群:spark源代码 198279782 欢迎来探讨技术)原创文章,未经博主允许不得转载。 https://blog.csdn.net/qq_21383435/article/details/83579315
1.搭建LDAP环境
参考:https://blog.csdn.net/qq_21383435/article/details/83313824
可以看到界面
只有管理员用户
2.安装migrationtools工具
2.1 安装
# yum install migrationtools -y
2.2 配置
修改默认域名
根据实际情况修改/usr/share/migrationtools/migrate_common.ph
,看上图我的管理员 cn=Manager,dc=ymm56,dc=com
配置的后面两个。
# Default DNS domain
$DEFAULT_MAIL_DOMAIN = "ymm56.com";
# Default base
$DEFAULT_BASE = "dc=ymm56,dc=com";
3.导出用户
导出NameNode所在服务器的操作系统用户和组列表
# cat /etc/passwd > people
# cat /etc/group > group
4.使用migrationtools工具生成用户和组ldif文件
usr/share/migrationtools/migrate_passwd.pl people people.ldif
/usr/share/migrationtools/migrate_group.pl group group.ldif
查看组组的objectClass为posixGroup
[root@cdh-server1 ~]# vim group.ldif
dn: cn=root,ou=Group,dc=ymm56,dc=com
objectClass: posixGroup
objectClass: top
cn: root
userPassword: {crypt}x
gidNumber: 0
dn: cn=bin,ou=Group,dc=ymm56,dc=com
objectClass: posixGroup
objectClass: top
cn: bin
userPassword: {crypt}x
gidNumber: 1
查看用户用户的objectClass为posixAccount
[root@cdh-server1 ~]# vim people.ldif
dn: uid=root,ou=People,dc=ymm56,dc=com
uid: root
cn: root
objectClass: account
objectClass: posixAccount
objectClass: top
objectClass: shadowAccount
userPassword: {crypt}$6$9dFGyTRf$.gzxorvLyEckxqovj6NFPwx9fEEoMRM.hTFEnnO9o./ZX5Gm0hyt4q1m86hNKmEl/aB50.HLsMFLLt8/J2BGe.
shadowLastChange: 17728
shadowMin: 0
shadowMax: 99999
shadowWarning: 7
loginShell: /bin/bash
uidNumber: 0
gidNumber: 0
homeDirectory: /root
gecos: root
5.导入组到LDAP
[root@cdh-server1 ~]# ldapadd -x -W -D "cn=Manager,dc=ymm56,dc=com" -f group.ldif
Enter LDAP Password:
adding new entry "cn=root,ou=Group,dc=ymm56,dc=com"
ldap_add: No such object (32)
matched DN: dc=ymm56,dc=com
[root@cdh-server1 ~]#
遇到这个错误,说明ldap中没有建立父类ou=Group
我们去手动建立一个。
然后重新导入。可以看到导入成功
6.导入用户到LDAP
[root@cdh-server1 ~]# ldapadd -x -W -D "cn=Manager,dc=ymm56,dc=com" -f people.ldif
Enter LDAP Password:
adding new entry "uid=root,ou=People,dc=ymm56,dc=com"
ldap_add: No such object (32)
matched DN: dc=ymm56,dc=com
和上面一样需要我们建立ou=People
,然后重新导入,导入成功