wget https://s3-gz01.didistatic.com/n9e-pub/script/ldapsync.tar.gz
将脚本解压到可以与rdb数据库以及ldap服务器正常通信的linux机器上。
编辑etc目录下的mysql.yml以及ldap.yml文件,前者填写rdb数据库信息, 后者填写ldap相关信息及字段映射关系。
ldap.yml示例:
#下面的配置是ldap的链接信息
ldapbasedn: ou=test,dc=example,dc=com #ldap的base_dn
ldaphost: 127.0.0.1 #ldap服务的地址
ldapport: 386 #ldap服务的端口
userfilter: (&(objectClass=organizationalPerson)) #搜索用户时的search过滤条件
usessl: true #如果ldap支持tls那就设置成true
skiptls: true #如果想跳过ssl证书认证就设置成true
starttls: false #如果使用STARTTLS模式链接ldap服务就设置为true(create connection in insecure, then upgrade to secure connection with TLS)
administrator: uid=root #登录ldap用的管理员名字,cn=张三这种形式,与base_dn在一起组成了bind_dn
adminpwd: 12345 #管理员登录的密码
rootcacert: ldapca.pem #设置root ca证书的路径,不配置的话默认使用系统默认的
#下面的配置定义了ldap与rdb字段的映射关系
usernamefield: sAMAccountName #使用ldap中的哪个字段来映射到rdb的用户名中,必填
displaynamefield: displayName #使用ldap中的哪个字段来映射到rdb的显示名中
phonefield: mobile #手机
mailfield: mail #邮箱
leadernamefield: leaderName #如果ldap中有标识上级用户的字段且该字段对应了登录用户名username那么可以配置这个配置,否则注释掉
配置完成后直接运行ldapsync二进制即可。
压缩包中含脚本代码,可以修改并重新编译。