Centos7 Ldap统一认证部署

简介:

转载地址:http://blog.chinaunix.net/uid-21926461-id-5676013.html

LDAP介绍

        LDAP是轻量目录访问协议,英文全称是Lightweight Directory Access Protocol,一般都简称为LDAP。它是基于X.500标准的,但是简单多了并且可以根据需要定制。与X.500不同,LDAP支持TCP/IP,这对访问Internet是必须的。LDAP的核心规范在RFC中都有定义,所有与LDAP相关的RFC都可以在LDAPman RFC网页中找到。
        这篇部署文档是我参考了N多的国内外文章才整理出来的。

使用目的:

        使用LDAP对运维相关用户名密码做统一管理。可以实现一个帐号登录多个不同系统。

部署:

一、Server端安装

Step 1: Install the following packages:

 # yum install -y openldap openldap-clients openldap-servers migrationtools

二、配置

Step 2: Configure OpenLDAP Server: 

[root@HBC-CtrlCenter ~]# vim /etc/openldap/slapd.d/cn\=config/olcDatabase\=\{2\}hdb.ldif

change two lines:   #change  dc=yooma

olcSuffix: dc=yooma,dc=com               
olcRootDN: cn=root,dc=yooma,dc=com

add one line:
olcRootPW: 123456 #密码根据自己需要修改

:wq!

Step 3: Configure Monitoring Database Configuration file: 

[root@HBC-CtrlCenter ~]# vim /etc/openldap/slapd.d/cn\=config/olcDatabase\=\{1\}monitor.ldif

#修改dn.base=""中的cn、dc项与step2中的相同

olcAccess: {0}to * by dn.base="gidNumber=0+uidNumber=0,cn=peercred,cn=extern
al,cn=auth" read by dn.base="cn=root,dc=yooma,dc=com" read by * none

:wq!

Step 4: Prepare the LDAP database:

[root@HBC-CtrlCenter ~]# cp /usr/share/openldap-servers/DB_CONFIG.example /var/lib/ldap/DB_CONFIG

[root@HBC-CtrlCenter ~]# chown -R ldap.ldap /var/lib/ldap

Step 5: Test the configuration:

 

[root@HBC-CtrlCenter ~]# slaptest -u
56e7c83d ldif_read_file: checksum error on "/etc/openldap/slapd.d/cn=config/olcDatabase={1}monitor.ldif"
56e7c83d ldif_read_file: checksum error on "/etc/openldap/slapd.d/cn=config/olcDatabase={2}hdb.ldif"
config file testing succeeded  #验证成功

Step 6: Start and enable the slapd service at boot: 

[root@HBC-CtrlCenter ~]# systemctl start slapd

[root@HBC-CtrlCenter ~]# systemctl enable slapd

Step 7: Check the LDAP activity:

 

[root@HBC-CtrlCenter ~]# netstat -lt | grep ldap
tcp 0 0 0.0.0.0:ldap 0.0.0.0:* LISTEN 
tcp6 0 0 [::]:ldap [::]:* LISTEN

[root@HBC-CtrlCenter ~]# netstat -tunlp | egrep "389|636"
tcp 0 0 0.0.0.0:389 0.0.0.0:* LISTEN 18814/slapd 
tcp6 0 0 :::389 :::* LISTEN 18814/slapd

Step 8: To start the configuration of the LDAP server, add the follwing LDAP schemas:

[root@HBC-CtrlCenter ~]# cd /etc/openldap/schema/

# ldapadd -Y EXTERNAL -H ldapi:/// -D "cn=config" -f cosine.ldif
# ldapadd -Y EXTERNAL -H ldapi:/// -D "cn=config" -f nis.ldif
# ldapadd -Y EXTERNAL -H ldapi:/// -D "cn=config" -f collective.ldif
# ldapadd -Y EXTERNAL -H ldapi:/// -D "cn=config" -f corba.ldif
# ldapadd -Y EXTERNAL -H ldapi:/// -D "cn=config" -f core.ldif
# ldapadd -Y EXTERNAL -H ldapi:/// -D "cn=config" -f duaconf.ldif
# ldapadd -Y EXTERNAL -H ldapi:/// -D "cn=config" -f dyngroup.ldif
# ldapadd -Y EXTERNAL -H ldapi:/// -D "cn=config" -f inetorgperson.ldif
# ldapadd -Y EXTERNAL -H ldapi:/// -D "cn=config" -f java.ldif
# ldapadd -Y EXTERNAL -H ldapi:/// -D "cn=config" -f misc.ldif
# ldapadd -Y EXTERNAL -H ldapi:/// -D "cn=config" -f openldap.ldif
# ldapadd -Y EXTERNAL -H ldapi:/// -D "cn=config" -f pmi.ldif
# ldapadd -Y EXTERNAL -H ldapi:/// -D "cn=config" -f ppolicy.ldif

##################################################
 # NOTE-: You can add schema files according to your need: #
 ##################################################

Step 9: Now use Migration Tools to create LDAP DIT: 

[root@HBC-CtrlCenter ~]# cd /usr/share/migrationtools/

[root@HBC-CtrlCenter migrationtools]# vim migrate_common.ph 

on the Line Number 61, change "ou=Groups"
$NAMINGCONTEXT{'group'} = "ou=Groups";
on the Line Number 71, change your domain name
$DEFAULT_MAIL_DOMAIN = "yooma.com";
on the line number 74, change your base name
$DEFAULT_BASE = "dc=yooma,dc=com";
on the line number 90, change schema value
$EXTENDED_SCHEMA = 1;

:wq!

Step 10: Generate a base.ldif file for your Domain DIT: 

[root@HBC-CtrlCenter migrationtools]# ./migrate_base.pl /root/base.ldif

Step 11: Load "base.ldif" into LDAP Database: 

[root@HBC-CtrlCenter migrationtools]# ldapadd -x -W -D "cn=root,dc=yooma,dc=com" -f /root/base.ldif

Step 12: Now Create some users and Groups and migrate it from local database to LDAP database: 

 #mkdir /home/guests
 #useradd -d /home/guests/ldapuser1 ldapuser1
 #useradd -d /home/guests/ldapuser2 ldapuser2

 #echo 'password' | passwd --stdin ldapuser1
 #echo 'password' | passwd --stdin ldapuser2

Step 13: Now filter out these Users and Groups and it password from /etc/shadow to different file: 

#getent passwd | tail -n 5 > /root/users

#getent shadow | tail -n 5 > /root/shadow

# getent group | tail -n 5 > /root/groups

Step 14: Now you need to create ldif file for these users using migrationtools: 

[root@HBC-CtrlCenter ~]# cd /usr/share/migrationtools

[root@HBC-CtrlCenter migrationtools]# vim migrate_passwd.pl

#search /etc/shadow and replace it into /root/shadow on Line Number 188.

:wq!

[root@HBC-CtrlCenter migrationtools]# ./migrate_passwd.pl /root/users > users.ldif

[root@HBC-CtrlCenter migrationtools]# ./migrate_group.pl /root/groups > groups.ldif

Step 15: Upload these users and groups ldif file into LDAP Database: 

[root@HBC-CtrlCenter migrationtools]# ldapadd -x -W -D "cn=root,dc=yooma,dc=com" -f users.ldif

 [root@HBC-CtrlCenter migrationtools]# ldapadd -x -W -D "cn=root,dc=yooma,dc=com" -f groups.ldif

Step 16: Now search LDAP DIT for all records: 

[root@HBC-CtrlCenter migrationtools]# ldapsearch -x -b "dc=yooma,dc=com" -H ldap://127.0.0.1

三、客户端安装配置调试

[root@HBC-C1-WB-5 ~]# yum install -y nss-pam*

[root@HBC-C1-WB-5 ~]# authconfig-tui   #chose the secend [ Use LDAP] and next

input  server:ldap://10.0.200.3/

          base DNS: dc=ldapserver,dc=com

[next]

Kerberos设置

domain:ldapserver.com

KDC:ldapserver.com

mange server:ldapserver.com

[soure]

click OK.

[root@HBC-C1-WB-5 ~]# su ldapuser1

bash-4.2$     #测试成功



      本文转自027ryan  51CTO博客,原文链接:http://blog.51cto.com/ucode/1971454,如需转载请自行联系原作者






相关文章
|
监控 前端开发 Linux
centos7系统安装部署zabbix5.0
【9月更文挑战第23天】在CentOS 7系统上部署Zabbix 5.0的步骤包括:安装MariaDB数据库及必要软件包,配置Zabbix仓库,设置数据库并导入Zabbix数据库架构,配置Zabbix服务器与前端参数,启动相关服务,并通过浏览器访问Web界面完成安装向导。
1541 0
|
Linux 应用服务中间件 nginx
在CentOS上部署Minikube教程
至此,您已成功在CentOS上部署并使用Minikube。您可以自由探索Kubernetes的世界,熟练配置和管理Kubernetes集群。
1155 20
|
Oracle Java 关系型数据库
CentOS 7.6操作系统部署JDK实战案例
这篇文章介绍了在CentOS 7.6操作系统上通过多种方式部署JDK的详细步骤,包括使用yum安装openjdk、基于rpm包和二进制包安装Oracle JDK,并提供了配置环境变量的方法。
750 80
|
存储 Kubernetes 负载均衡
CentOS 7.9二进制部署K8S 1.28.3+集群实战
本文详细介绍了在CentOS 7.9上通过二进制方式部署Kubernetes 1.28.3+集群的全过程,包括环境准备、组件安装、证书生成、高可用配置以及网络插件部署等关键步骤。
3111 4
CentOS 7.9二进制部署K8S 1.28.3+集群实战
|
Linux pouch 容器
CentOS7部署阿里巴巴开源的pouch容器管理工具实战
关于如何在CentOS 7.6操作系统上安装和使用阿里巴巴开源的Pouch容器管理工具的实战教程。
475 2
CentOS7部署阿里巴巴开源的pouch容器管理工具实战
|
Oracle 关系型数据库 MySQL
Centos7下图形化部署单点KFS同步工具并将Oracle增量同步到KES
Centos7下图形化部署单点KFS同步工具并将Oracle增量同步到KES
Centos7下图形化部署单点KFS同步工具并将Oracle增量同步到KES
|
Kubernetes Linux API
CentOS 7.6使用kubeadm部署k8s 1.17.2测试集群实战篇
该博客文章详细介绍了在CentOS 7.6操作系统上使用kubeadm工具部署kubernetes 1.17.2版本的测试集群的过程,包括主机环境准备、安装Docker、配置kubelet、初始化集群、添加节点、部署网络插件以及配置k8s node节点管理api server服务器。
772 1
CentOS 7.6使用kubeadm部署k8s 1.17.2测试集群实战篇
|
存储 Linux 开发者
虚拟机centos7.9一键部署docker
本文介绍了如何在 CentOS 7.9 虚拟机上安装 Docker 社区版 (Docker-ce-20.10.20)。通过使用阿里云镜像源,利用 `wget` 下载并配置 Docker-ce 的 YUM 仓库文件,然后通过 `yum` 命令完成安装。安装后,通过 `systemctl` 设置 Docker 开机自启并启动 Docker 服务。最后,使用 `docker version` 验证安装成功,并展示了客户端与服务器的版本信息。文中还提供了列出所有可用 Docker-ce 版本的命令。
3508 0
虚拟机centos7.9一键部署docker
|
Linux 数据安全/隐私保护 网络虚拟化
centos7部署Pritunl
centos7部署Pritunl
1511 1
|
监控 应用服务中间件 nginx
详细解释容器以及虚拟机centos7.9容器化部署基础服务(容器化部署nginx)
容器是一种轻量级、可移植的软件打包和隔离技术,将应用程序及其依赖项打包,确保在任何环境中一致运行。容器共享主机操作系统内核,相比虚拟机更高效、轻量,具有快速启动和高资源利用率的特点。容器的关键技术包括命名空间(如 PID、NET 等)、控制组(cgroups)和联合文件系统(UnionFS)。使用容器可以提高开发和部署效率,简化管理,确保环境一致性。例如,在 CentOS 7.9 上部署 Nginx 时,可以通过 Docker 下载和运行 `nginx:1.20` 镜像,并通过端口映射使外部请求访问 Nginx 服务。此外,还可以将测试页面复制到容器中,进一步验证容器的功能。
589 0