1、安装启动ldap-server
[root@dlp ~]# yum -y install openldap-servers openldap-clients nss-pam-ldapd
[root@dlp ~]# cp /usr/share/openldap-servers/DB_CONFIG.example /var/lib/ldap/DB_CONFIG<br /> [root@dlp ~]# chown ldap:ldap /var/lib/ldap/DB_CONFIG
[root@dlp ~]# systemctl start slapd<br /> [root@dlp ~]# systemctl status slapd -l<br /> 查看状态。<br /> [root@dlp ~]# systemctl enable slap<br /> 设置为开机启动
2、修改ldap server的密码
slappasswd -h {md5} -s “ldap@#123”
{MD5}0YrHskgC54n3QqNNf7uBxg==
vim /home/ldap/ldif-demo/set_rootpw.ldif
dn: olcDatabase={0}config,cn=config
changetype: modify
add: olcRootPW
olcRootPW: {MD5}0YrHskgC54n3QqNNf7uBxg==
vim /home/ldap/ldif-demo/create_basedomain.ldif
dn: dc=asiainfo,dc=com
objectClass: top
objectClass: dcObject
objectclass: organization
o: Server com
dc: asiainfo
dn: cn=admin,dc=asiainfo,dc=com
objectClass: organizationalRole
cn: admin
description: Directory admin
dn: ou=People,dc=asiainfo,dc=com
objectClass: organizationalUnit
ou: People
dn: ou=Group,dc=asiainfo,dc=co
objectClass: organizationalUnit
ou: Group
vim /home/ldap/ldif-demo/replace_roowpd.ldif
dn: olcDatabase={0}config,cn=config
changetype: modify
replace: olcRootPW
olcRootPW: {MD5}0YrHskgC54n3QqNNf7uBxg==
vim /home/ldap/ldif-demo/set_domain.ldif
dn: olcDatabase={1}monitor,cn=config
changetype: modify
replace: olcAccess
olcAccess: {0}to * by dn.base="gidNumber=0+uidNumber=0,cn=peercred,cn=external,cn=auth"
read by dn.base="cn=admin,dc=asiainfo,dc=com" read by * none
dn: olcDatabase={2}hdb,cn=config
changetype: modify
replace: olcSuffix
olcSuffix: dc=asiainfo,dc=com
dn: olcDatabase={2}hdb,cn=config
changetype: modify
replace: olcRootDN
olcRootDN: cn=admin,dc=asiainfo,dc=com
dn: olcDatabase={2}hdb,cn=config
changetype: modify
add: olcRootPW
olcRootPW: {MD5}0YrHskgC54n3QqNNf7uBxg==
dn: olcDatabase={2}hdb,cn=config
changetype: modify
add: olcAccess
olcAccess: {0}to attrs=userPassword,shadowLastChange by
dn="cn=admin,dc=asiainfo,dc=com" write by anonymous auth by self write by * none
olcAccess: {1}to dn.base="" by * read
olcAccess: {2}to * by dn="cn=admin,dc=asiainfo,dc=com" write by * read
vim /home/ldap/ldif-demo/sync_consumer.ldif
# create new
dn: olcDatabase={2}hdb,cn=config
changetype: modify
add: olcSyncRepl
olcSyncRepl: rid=001
# LDAP server's URI
provider=ldap://oc-etl-data-new-060:389/
bindmethod=simple
# own domain name
binddn="cn=admin,dc=asiainfo,dc=com"
# directory manager's password
credentials=ldap@#123
searchbase="dc=asiainfo,dc=com"
# includes subtree
scope=sub
schemachecking=on
type=refreshAndPersist
# [retry interval] [retry times] [interval of re-retry] [re-retry times]
retry="30 5 300 3"
# replication interval
interval=00:00:05:00
vim /home/ldap/ldif-demo/sync_provider_addMode.ldif
# create new
dn: cn=module,cn=config
objectClass: olcModuleList
cn: module
olcModulePath: /usr/lib64/openldap
olcModuleLoad: syncprov.la
vim /home/ldap/ldif-demo/sync_provider.ldif
# create new
dn: olcOverlay=syncprov,olcDatabase={2}hdb,cn=config
objectClass: olcOverlayConfig
objectClass: olcSyncProvConfig
olcOverlay: syncprov
olcSpSessionLog: 100
ldapadd -Y EXTERNAL -H ldapi:/// -f /home/ldap/ldif-demo/set_rootpw.ldif
ldapadd -Y EXTERNAL -H ldapi:/// -f /etc/openldap/schema/cosine.ldif
ldapadd -Y EXTERNAL -H ldapi:/// -f /etc/openldap/schema/nis.ldif
ldapadd -Y EXTERNAL -H ldapi:/// -f /etc/openldap/schema/inetorgperson.ldif
3、在LDAP DB上设置domain
ldapmodify -Y EXTERNAL -H ldapi:/// -f /home/ldap/ldif-demo/set_domain.ldif
4、初始化domain:
ldapadd -x -D cn=admin,dc=asiainfo,dc=com -w ldap@#123 -f /home/ldap/ldif-demo/create_basedomain.ldif
=========================迁移系统帐号==============================================
yum -y install migrationtools
修改/usr/share/migrationtools/migrate_common.ph中domain的配置。
$DEFAULT_MAIL_DOMAIN = “asiainfo.com”;
$DEFAULT_BASE = “dc=asiainfo,dc=com”;
cd /usr/share/migrationtools/
—./migrate_base.pl > /home/ldap/user/base.ldif,该文件需删除部分内容
./migrate_passwd.pl /etc/passwd > /home/ldap/user/passwd.ldif
./migrate_group.pl /etc/group > /home/ldap/user/group.ldif
导入用户:
—ldapadd -x -D “cn=admin,dc=asiainfo,dc=com” -w ldap@#123 -f /home/ldap/user/base.ldif
ldapadd -x -D “cn=admin,dc=asiainfo,dc=com” -w ldap@#123 -f /home/ldap/user/passwd.ldif
ldapadd -x -D “cn=admin,dc=asiainfo,dc=com” -w ldap@#123 -f /home/ldap/user/group.ldif
===安装客户端=================================================
yum -y install openldap-clients nss-pam-ldapd
配置linux基于ldap的安全认证
authconfig —enableldap —enableldapauth —ldapserver=oc-etl-data-new-060:389,oc-etl-data-new-057:389 —ldapbasedn=”dc=asiainfo,dc=com” —enablemkhomedir —update
测试能否连接到ldap server:
ldapsearch -x -b ‘ou=People,dc=asiainfo,dc=com’
连接错误ldap_sasl_bind(SIMPLE): Can’t contact LDAP server (-1)
查看连接错误:ldapsearch -d 1 -v -H ldaps://ocdp1:389
===LDAP与ssh集成=================================================
修改/etc/ssh/sshd_config以下项目,使ssh通过pam认证账户:
UsePAM yes
===LDAP 主从复制=================================================
master上执行:
ldapadd -Y EXTERNAL -H ldapi:/// -f /home/ldap/ldif-demo/sync_provider_addMode.ldif
ldapadd -Y EXTERNAL -H ldapi:/// -f /home/ldap/ldif-demo/sync_provider.ldif
slave上执行:
ldapadd -Y EXTERNAL -H ldapi:/// -f /home/ldap/ldif-demo/sync_consumer.ldif
查询是否成功同步过来数据:
ldapsearch -x -b ‘ou=People,dc=asiainfo,dc=com’
ldap-client客户端执行:
authconfig —ldapserver=oc-etl-data-new-060,oc-etl-data-new-057 —update
===Ranger中、Hive中配置ldap server url=================================================
缺点:只能配置一个。
对ranger而言,仅影响用户同步,不影响权限控制。
但却影响hiveserver2的用户认证。
文件包下载位置:链接: https://pan.baidu.com/s/1XQDYVVAuJ-xoSbL13LBWUQ 提取码: krvp
LDAP添加用户:
vim /root/ldif/create_user_ocdp.ldif
dn: uid=ocdp,ou=People,dc=asiainfo,dc=com
objectClass: inetOrgPerson
objectClass: posixAccount
objectClass: shadowAccount
cn: ocdp
sn: ocdp
userPassword: {MD5}nbrYFtU+IFn+k8nLknt61Q==
loginShell: /bin/bash
uidNumber: 1501
gidNumber: 1501
homeDirectory: /home/ocdp
dn: cn=ocdp,ou=Group,dc=asiainfo,dc=com
objectClass: posixGroup
cn: ocdp
gidNumber: 1501
memberUid: uid=ocdp,ou=People,dc=asiainfo,dc=com
上传create_user_ocdp.ldif文件:链接: https://pan.baidu.com/s/1GBzx5qjQtiJMcvVS1QZJgQ 提取码: qcsy
修改文件内uid uname gid 密码
执行如下命令添加用户到ldap
ldapadd -x -D “cn=admin,dc=asiainfo,dc=com” -w ldap@#123 -f /root/ldif/create_user_ocdp.ldif