Fayson的github:https://github.com/fayson/cdhproject

提示:代码块部分可以旁边滑动查看噢

1.文档编写目的

redhat查看php版本0226若何在RedHat7上安装OpenLDA并设置装备摆设客户端 HTML

众所周知Hadoop安全模块不存储用户和用户组信息,而是依赖Linux系统的用户和用户组。
同时在集群开启安全认证模式之后,须要映射Kerberos Principle到Linux的用户以及映射用户到用户组。
那么随之而来的问题是如何统一管理用户信息。
这里统一管理用户信息的办法有多种(如OpenLDAP、AD等等),在前面Fayson先容了如何在Redhat6中安装OpenLDAP,本篇文章紧张讲述如何在ReadHat7中安装OpenLDAP并配置客户端。

内容概述

1.OpenLDAP做事安装

2.导入根域及管理员账号

3.导入根本文件及用户和用户组

4.配置OpenLDAP客户端

测试环境

1.Redhat7.3

2.OpenLDAP版本2.4.44

2.OpenLDAP安装及配置

在集群中选择一台做事器(ip-172-31-24-169.ap-southeast-1.compute.internal)作为OpenLDAP的Server

1.实行如下命令安装OpenLDAP做事

1[root@ip-172-31-24-169 ~]# yum -y install openldap openldap-clients openldap-servers migrationtools openldap-devel nss- pam-ldapd bind-dyndb-ldap compat-openldap perl-LDAP krb5-server-ldap php-ldap openssl

(可旁边滑动)

查看安装的RPM包

1[root@ip-172-31-24-169 ~]# rpm -qa |grep openldap

(可旁边滑动)

2.利用openssl天生TLS加密文件(如果不须要配置OpenLDAP的TLS则跳过此步)

利用如下命令天生做事器的RSA私钥

1[root@ip-172-31-24-169 certs]# openssl genrsa -out ldap.key 1024

(可旁边滑动)

利用如下命令天生署名文件

1[root@ip-172-31-24-169 certs]# openssl req -new -key ldap.key -out ldap.csr

(可旁边滑动)

把稳:天生署名文件时必填的信息为“your server’s hostname”且为当前做事器的hostname。

利用如下文件天生公钥文件

1[root@ip-172-31-24-169 certs]# openssl x509 -req -days 3653 -in ldap.csr -signkey ldap.key -out ldap.crt

(可旁边滑动)

将天生的公钥文件和私钥拷贝至/etc/openldap/certs目录下:

1[root@ip-172-31-24-169 certs]# scp ldap.crt ldap.key /etc/openldap/certs/2[root@ip-172-31-24-169 certs]# ll /etc/openldap/certs/

(可旁边滑动)

3.修正OpenLDAP的slapd.ldif配置文件

安装OpenLDAP做事后默认的配置文件及数据库文件在/usr/share/openldap-servers目录下

将该目录下的slapd.ldif文件拷贝至/root目录下

1[root@ip-172-31-24-169 openldap-servers]# cp slapd.ldif /root/2[root@ip-172-31-24-169 openldap-servers]# cd /root/3[root@ip-172-31-24-169 ~]# vim slapd.ldif

(可旁边滑动)

修正slapd.ldif文件,将部分注释去掉,增加include的文件及配置管理员账号和OpenLDAP的根域信息,文件全部内容如下:

把稳:配置文件中须要把稳的TLS Settings配置,如果不启用则可以将干系的配置注释。

配置文件中多处配置dc=fayson,dc=com,由于我们OpenLDAP的域为fayson.com,如果LDAP的域为ldap.fayson.com则我们的配置为dc=ldap,dc=fayson,dc=com,根据自己LDAP的域名进行相应的修正。

1# 2# See slapd-config(5) for details on configuration options. 3# This file should NOT be world readable. 4# 5dn: cn=config 6objectClass: olcGlobal 7cn: config 8olcArgsFile: /var/run/openldap/slapd.args 9olcPidFile: /var/run/openldap/slapd.pid10#11# TLS settings12#13olcTLSCACertificatePath: /etc/openldap/certs14olcTLSCertificateFile: /etc/openldap/certs/ldap.crt15olcTLSCertificateKeyFile: /etc/openldap/certs/ldap.key16#17# Schema settings18#19dn: cn=schema,cn=config20objectClass: olcSchemaConfig21cn: schema22include: file:///etc/openldap/schema/corba.ldif23include: file:///etc/openldap/schema/core.ldif24include: file:///etc/openldap/schema/cosine.ldif25include: file:///etc/openldap/schema/duaconf.ldif26include: file:///etc/openldap/schema/dyngroup.ldif27include: file:///etc/openldap/schema/inetorgperson.ldif28include: file:///etc/openldap/schema/java.ldif29include: file:///etc/openldap/schema/misc.ldif30include: file:///etc/openldap/schema/nis.ldif31include: file:///etc/openldap/schema/openldap.ldif32include: file:///etc/openldap/schema/ppolicy.ldif33include: file:///etc/openldap/schema/collective.ldif34#35# Frontend settings36#37dn: olcDatabase=frontend,cn=config38objectClass: olcDatabaseConfig39objectClass: olcFrontendConfig40olcDatabase: frontend41#42# Configuration database43#44dn: olcDatabase=config,cn=config45objectClass: olcDatabaseConfig46olcDatabase: config47olcAccess: to by dn.base=\"大众gidNumber=0+uidNumber=0,cn=peercred,cn=external,cn=auth\"大众 manage by none48#49# Server status monitoring50#51dn: olcDatabase=monitor,cn=config52objectClass: olcDatabaseConfig53olcDatabase: monitor54olcAccess: to by dn.base=\"大众gidNumber=0+uidNumber=0,cn=peercred,cn=external,cn=auth\"大众 read by dn.base=\"大众cn=Manager,dc=fayson,dc=com\"大众 read by none55#56# Backend database definitions57#58dn: olcDatabase=hdb,cn=config59objectClass: olcDatabaseConfig60objectClass: olcHdbConfig61olcDatabase: hdb62olcSuffix: dc=fayson,dc=com63olcRootDN: cn=Manager,dc=fayson,dc=com64olcRootPW: 12345665olcDbDirectory: /var/lib/ldap66olcDbIndex: objectClass eq,pres67olcDbIndex: ou,cn,mail,surname,givenname eq,pres,sub68olcDbIndex: uidNumber,gidNumber,loginShell eq,pres69olcDbIndex: uid,memberUid eq,pres,sub70olcDbIndex: nisMapName,nisMapEntry eq,pres,sub

(可旁边滑动)

4.利用如下命令,重新天生OpenLDAP的配置

1[root@ip-172-31-24-169 ~]# rm -rf /etc/openldap/slapd.d/2[root@ip-172-31-24-169 ~]# slapadd -F /etc/openldap/slapd.d -n 0 -l /root/slapd.ldif

(可旁边滑动)

测试配置文件是否精确,返回“config file testing succeeded”则表示配置文件精确

1[root@ip-172-31-24-169 ~]# slaptest -u -F /etc/openldap/slapd.d

(可旁边滑动)

修正配置文件的属主,操作如下:

1[root@ip-172-31-24-169 ~]# chown -R ldap. /etc/openldap/slapd.d/2[root@ip-172-31-24-169 ~]# ll /etc/openldap/slapd.d/

(可旁边滑动)

5.安装OpenLDAP的数据库文件

将/usr/share/openldap-servers/目录下的DB_CONFIG.example文件拷贝至/var/lib/ldap目录下并重命名为DB_CONFIG,操作如下:

1[root@ip-172-31-24-169 ~]# cp /usr/share/openldap-servers/DB_CONFIG.example /var/lib/ldap/DB_CONFIG2[root@ip-172-31-24-169 ~]# ll /var/lib/ldap/

(可旁边滑动)

修正数据库文件属主

1[root@ip-172-31-24-169 ~]# chown -R ldap. /var/lib/ldap/2[root@ip-172-31-24-169 ~]# ll /var/lib/ldap/

(可旁边滑动)

6.完成上述操作后,实行如下命令将slapd做事添加到系统自启动做事并启动slapd做事,查看做事启动状态

1[root@ip-172-31-24-169 ~]# systemctl enable slapd2[root@ip-172-31-24-169 ~]# systemctl start slapd3[root@ip-172-31-24-169 ~]# systemctl status slapd

(可旁边滑动)

至此OpenLDAP做事安装成功。

3.导入根域及管理员账号

1.创建root.ldif文件,内容如下

1[root@ip-172-31-24-169 ldap]# vim root.ldif2dn: dc=fayson,dc=com3dc: fayson4objectClass: top5objectClass: domain6dn: cn=Manager,dc=fayson,dc=com7objectClass: organizationalRole8cn: Manager

(可旁边滑动)

2.导入根域及管理员信息到OpenLDAP做事中

1[root@ip-172-31-24-169 ldap]# ldapadd -D \"大众cn=Manager,dc=fayson,dc=com\"大众 -W -x -f root.ldif

(可旁边滑动)

3.查看是否导入成功

1[root@ip-172-31-24-169 ldap]# ldapsearch -h ip-172-31-24-169.ap-southeast-1.compute.internal -b \公众dc=fayson,dc=com\"大众 -D \公众cn=Manager,dc=fayson,dc=com\公众 -W

(可旁边滑动)

4.导入根本文件及用户和用户组

在安装OpenLDAP做事是安装了migrationtools做事,这里我们可以通过该做事天生OpenLDAP的根本文件、用户和用户组的ldif文件

1.进入/usr/share/migrationtools/目录修正migrate_common.ph文件,将文件中的$DEFAULT_MAIL_DOMAIN和$DEFAULT_BASE修正为自己OpenLDAP的域

1# Default DNS domain2$DEFAULT_MAIL_DOMAIN = \"大众fayson.com\"大众;3# Default base 4$DEFAULT_BASE = \"大众dc=fayson,dc=com\"大众;

(可旁边滑动)

2.利用如下命令导出OpenLdap的base.ldif文件

1[root@ip-172-31-24-169 ldap]# /usr/share/migrationtools/migrate_base.pl >base.ldif2[root@ip-172-31-24-169 ldap]# ll3[root@ip-172-31-24-169 ldap]# vim base.ldif

(可旁边滑动)

根据自己的需求保留须要的根本域配置,此处是Fayson的配置

1dn: ou=People,dc=fayson,dc=com2ou: People3objectClass: top4objectClass: organizationalUnit5dn: ou=Group,dc=fayson,dc=com6ou: Group7objectClass: top8objectClass: organizationalUnit9

(可旁边滑动)

3.实行如下命令导出操作系统的group.ldif文件

1[root@ip-172-31-24-169 ldap]# /usr/share/migrationtools/migrate_group.pl /etc/group > group.ldif2[root@ip-172-31-24-169 ldap]# ll3[root@ip-172-31-24-169 ldap]# vim group.ldif

(可旁边滑动)

根据须要删除不须要导入OpenLDAP做事的group,如下是Fayson的配置

1dn: cn=root,ou=Group,dc=fayson,dc=com 2objectClass: posixGroup 3objectClass: top 4cn: root 5userPassword: {crypt}x 6gidNumber: 0 7dn: cn=fayson,ou=Group,dc=fayson,dc=com 8objectClass: posixGroup 9objectClass: top10cn: fayson11userPassword: {crypt}x12gidNumber: 100113

(可旁边滑动)

4.利用如下命令导出操作系统用户的ldif文

1[root@ip-172-31-24-169 ldap]# /usr/share/migrationtools/migrate_passwd.pl /etc/passwd >user.ldif2[root@ip-172-31-24-169 ldap]# ll3[root@ip-172-31-24-169 ldap]# vim user.ldif

(可旁边滑动)

根据须要保留user.ldif文件中须要导入OpenLDAP做事的用户信息,把稳用户信息与group.ldif中组的对应,否则会涌现用户无相应组的问题,如下是Fayson的配置

1dn: uid=root,ou=People,dc=fayson,dc=com 2uid: root 3cn: root 4objectClass: account 5objectClass: posixAccount 6objectClass: top 7objectClass: shadowAccount 8userPassword: {crypt}!! 9shadowLastChange: 1709410shadowMin: 011shadowMax: 9999912shadowWarning: 713loginShell: /bin/bash14uidNumber: 015gidNumber: 016homeDirectory: /root17gecos: root18dn: uid=fayson,ou=People,dc=fayson,dc=com19uid: fayson20cn: fayson21objectClass: account22objectClass: posixAccount23objectClass: top24objectClass: shadowAccount25userPassword: {crypt}!!26shadowLastChange: 1756627shadowMin: 028shadowMax: 9999929shadowWarning: 730loginShell: /bin/bash31uidNumber: 100132gidNumber: 100133homeDirectory: /home/fayson34

(可旁边滑动)

利用slapadd命令将根本文件及用户和组导入OpenLDAP

ldapadd -D \"大众cn=Manager,dc=fayson,dc=com\公众 -W -x -f base.ldifldapadd -D \"大众cn=Manager,dc=fayson,dc=com\"大众 -W -x -f group.ldifldapadd -D \"大众cn=Manager,dc=fayson,dc=com\公众 -W -x -f user.ldif

(可旁边滑动)

4.查看是否导入成功

ldapsearch -h ip-172-31-24-169.ap-southeast-1.compute.internal -b \公众dc=fayson,dc=com\公众 -D \"大众cn=Manager,dc=fayson,dc=com\公众 -W|grep dn

(可旁边滑动)

5.OpenLDAP客户端配置

1.在ip-172-31-30-69节点安装OpenLDAP的客户端软件包

[root@ip-172-31-30-69 ~]# yum -y install openldap-clients

(可旁边滑动)

2.修正/etc/openldap/ldap.conf文件,内容如下:

[root@ip-172-31-30-69 ~]# yum -y install openldap-clients[root@ip-172-31-30-69 ~]# vim /etc/openldap/ldap.conf ## LDAP Defaults## See ldap.conf(5) for details# This file should be world readable but not world writable.#BASE dc=example,dc=com#URI ldap://ldap.example.com ldap://ldap-master.example.com:666#SIZELIMIT 12#TIMELIMIT 15#DEREF neverTLS_CACERTDIR /etc/openldap/certsURI ldap://ip-172-31-24-169.ap-southeast-1.compute.internalBASE dc=fayson,dc=com# Turning this off breaks GSSAPI used with krb5 when rdns = falseSASL_NOCANON on

(可旁边滑动)

3.测试客户端是否配置成功

[root@ip-172-31-30-69 ~]# ldapsearch -D \公众cn=Manager,dc=fayson,dc=com\"大众 -W |grep dn

(可旁边滑动)

把稳:如果未配置/etc/openldap/ldap.conf文件则须要在ldapsearch命令后加-hip-172-31-24-169.ap-southeast-1.compute.internal -b\公众dc=fayson,dc=com\"大众参数。

提示:代码块部分可以旁边滑动查看噢

为天地立心,为平生易近立命,为往圣继绝学,为万世开太平。

温馨提示:要看高清无码套图,请利用手机打开并单击图片放大查看。

推举关注Hadoop实操,第一韶光,分享更多Hadoop干货,欢迎转发和分享。

原创文章,欢迎转载,转载请注明:转载自微信公众年夜众号Hadoop实操