执行如下命令安装migrationtools用于导入linux账户信息:
yum install -y migrationtools
配置migre_common.ph文件,设置用于导入的根dn:
vim /usr/share/migrationtools/migrate_common.ph
修改相关设置,具体设置如下:
# Default DNS domain
$DEFAULT_MAIL_DOMAIN = "[email protected]";
Default base,该配置项设置linux账户将设置到那个dn下面
$DEFAULT_BASE = "ou=linux,dc=bigdata,dc=ly";
利用pl脚本将/etc/passwd和/etc/group生成ldap能读懂的文件格式,如果要导出指定的:
cat /etc/passwd > /tmp/passwd
cat /etc/group > /tmp/group
/usr/share/migrationtools/migrate_base.pl > /tmp/base.ldif
/usr/share/migrationtools/migrate_passwd.pl /tmp/passwd > /tmp/passwd.ldif
/usr/share/migrationtools/migrate_group.pl /tmp/group > /tmp/group.ldif
导出指定用户:
cat /etc/passwd | grep dcadmin > /tmp/passwd
cat /etcgroup | grep dcadmin > /tmp/group
/usr/share/migrationtools/migrate_base.pl > /tmp/base.ldif
将用户导入到openldap中
ldapadd -x -D "cn=admin,dc=bigdata,dc=ly" -f /tmp/base.ldif -w 1234
ldapadd -x -D "cn=admin,dc=bigdata,dc=ly" -f /tmp/passwd.ldif -w 1234
ldapadd -x -D "cn=admin,dc=bigdata,dc=ly" -f /tmp/group.ldif -w 1234
添加系统用户:
#添加system分组,用户存储系统用户,提供外界访问的openldap用户
dn: cn=System,ou=linux,dc=bigdata,dc=ly
cn: System
objectClass: organizationalRole
#添加gp分组的只读权限
dn: uid=linux_read,cn=System,ou=linux,dc=bigdata,dc=ly
objectClass: inetOrgPerson
uid: linux_read
sn: linux_read
cn: linux_read
userPassword: {SSHA}yuSYmdRGPsfCx4R5LfBLPHPCn+uhtG2B
#添加分组的读写权限
dn: uid=linux_write,cn=System,ou=linux,dc=bigdata,dc=ly
objectClass: inetOrgPerson
uid: linux_write
sn: linux_write
cn: linux_write
userPassword: {SSHA}yuSYmdRGPsfCx4R5LfBLPHPCn+uhtG2B
执行如下命令,将gp的账户信息导入到openldap中:
ldapadd -x -D "cn=admin,dc=bigdata,dc=ly" -w 1234 -f linux_user.ldif -H ldap://10.100.203.117:18888
配置ou=linux,dc=bigdata,dc=ly条目数据的访问权限,编辑文件linux_acl.ldif文件,添加内容如下,设置用户uid=linux_read,cn=System,ou=linux,dc=bigdata,dc=ly对ou=linux,dc=bigdata,dc=ly只用只读权限,uid=linux_write,cn=System,ou=linux,dc=bigdata,dc=ly有读写权限。
dn: olcDatabase={2}mdb,cn=config
changetype: modify
add: olcAccess
olcAccess: to dn.subtree="ou=linux,dc=bigdata,dc=ly"
by dn.base="uid=linux_read,cn=System,ou=linux,dc=bigdata,dc=ly" read
by dn.base="uid=linux_write,cn=System,ou=linux,dc=bigdata,dc=ly" write
by * auth
执行如下命令,将配置导入到配置文件中去:
ldapmodify -x -D "cn=config" -w 1234 -f linux_acl.ldif -H ldap://10.100.203.117:18888