五、openldap导入linux账户

一、安装migrationtools

执行如下命令安装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";

二、导出linux用户

利用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

你可能感兴趣的:(openldap)