Centos-6.9 安装OpenLdap

一、安装Openldap

环境准备

系统:Centos 6.9
关闭防火墙:/etc/init.d/iptables stop  && chkconfig iptables off
关闭NetworkManager:/etc/init.d/NetworkManager stop && chkconfig NetworkManager off
SeLinux设为disabled:getenforce 是否为Disabled,若不是,则修改:
1:临时的生效  setenforce 0,再getenforce的时候为permissive
2:修改配置文件,然后重启  vim /etc/sysconfig/selinux 把SELINUX=disabled

将本机的yum换成阿里云的yum源

wget -O /etc/yum.repos.d/CentOS-Base.repo   http://mirrors.aliyun.com/repo/Centos-7.repo
yum clean all           
yum  makecache

OpenLDAP服务器的搭建

yum -y install openldap openldap-servers openldap-clients openldap-devel compat-openldap 

其中compat-openldap这个包与主从有很大的关系

安装完后,可以看到自动创建了ldap用户:

tail -n  3  /etc/passwd
cat /etc/passwd |grep ldap
ldap:x:55:55:LDAP User:/var/lib/ldap:/sbin/nologin

可以通过rpm -qa |grep openldap查看安装了哪些包:

rpm -qa  |grep openldap
openldap-devel-2.4.40-16.el6.x86_64
compat-openldap-2.3.43-2.el6.x86_64
openldap-servers-2.4.40-16.el6.x86_64
openldap-clients-2.4.40-16.el6.x86_64
openldap-2.4.40-16.el6.x86_64

OpenLDAP的相关配置文件信息

/etc/openldap/slapd.conf:OpenLDAP的主配置文件,记录根域信息,管理员名称,密码,日志,权限等
/etc/openldap/slapd.d/*:这下面是/etc/openldap/slapd.conf配置信息生成的文件,每修改一次配置信息,这里的东西就要重新生成
/etc/openldap/schema/*:OpenLDAP的schema存放的地方
/var/lib/ldap/*:OpenLDAP的数据文件
/usr/share/openldap-servers/slapd.conf.obsolete 模板配置文件
/usr/share/openldap-servers/DB_CONFIG.example 模板数据库配置文件

OpenLDAP监听的端口:

默认监听端口:389(明文数据传输)
加密监听端口:636(密文数据传输)

初始化OpenLDAP的配置

cp /usr/share/openldap-servers/DB_CONFIG.example /var/lib/ldap/DB_CONFIG
cp /usr/share/openldap-servers/slapd.conf.obsolete /etc/openldap/slapd.conf

修改配置文件,首先,使用slappasswd生成密文密码,我这里是123qwe

[root@iZ2ze2hx8zhd9ble41g95tZ ~]# slappasswd
New password:  123qwe
Re-enter new password: 123qwe
{SSHA}xwrw/jFvnSNLblflbsA9CMtlLGQOGugn 

编辑/etc/openldap/slapd.conf配置文件,取消rootpw注释,rootpw必须顶格写,而且与后面的密码文件用Tab键隔开

[root@iZ2ze2hx8zhd9ble41g95sZ ~]# vim /etc/openldap/slapd.conf
# rootpw                secret
rootpw                  {SSHA}bik7v+wluzpHQoV7JqXUdFpaZmhS7Nqj

修改对应的以下选项

database config
access to *
        by dn.exact="gidNumber=0+uidNumber=0,cn=peercred,cn=external,cn=auth" manage
        by * none

# enable server status monitoring (cn=monitor)
database monitor
access to *
        by dn.exact="gidNumber=0+uidNumber=0,cn=peercred,cn=external,cn=auth" read
        by dn.exact="cn=admin,dc=jd,dc=com" read 需要修改此处
        by * none
#######################################################################
# database definitions
#######################################################################
database        bdb
suffix          "dc=jd,dc=com"  需要修改此处
checkpoint      1024 15
rootdn          "cn=admin,dc=jd,dc=com"    需要修改此处

禁止匿名用户访问,将以下注释解开,大约在86~89行

access to *
        by self write
        by users read
        by anonymous auth

重新生成配置文件信息文件,先检测/etc/openldap/slapd.conf是否有错误:slaptest -f /etc/openldap/slapd.conf

[root@iZ2ze2hx8zhd9ble41g95tZ ~]# slaptest -f /etc/openldap/slapd.conf
5b6d27f6 bdb_db_open: database "dc=jd,dc=com": db_open(/var/lib/ldap/id2entry.bdb) failed: No such file or directory (2).
5b6d27f6 backend_startup_one (type=bdb, suffix="dc=jd,dc=com"): bi_db_open failed! (2)
slap_startup failed (test would succeed using the -u switch)

这里报错是因为在第三步后没有重新生成配置文件,启动slapd。而是直接修改配置文件去了。先启动slapd:/etc/init.d/slapd restart

[root@iZ2ze2hx8zhd9ble41g95tZ ~]# /etc/init.d/slapd restart
停止 slapd:                                                              [失败]
/var/lib/ldap/__db.004 is not owned by "ldap"   [警告]
/var/lib/ldap/__db.001 is not owned by "ldap"   [警告]
/var/lib/ldap/__db.005 is not owned by "ldap"   [警告]
/var/lib/ldap/__db.006 is not owned by "ldap"   [警告]
/var/lib/ldap/alock is not owned by "ldap"      [警告]
/var/lib/ldap/__db.002 is not owned by "ldap"   [警告]
/var/lib/ldap/__db.003 is not owned by "ldap"   [警告]
正在启动 slapd:                                  [失败]

这里又报错,这是因为没有给/var/lib/ldap授权,授权后再重启slapd

chown -R ldap.ldap /var/lib/ldap/
[root@iZ2ze2hx8zhd9ble41g95tZ ~]# /etc/init.d/slapd restart
停止 slapd:                                   [失败]
正在启动 slapd:                                     [确定]

接着再检测/etc/openldap/slapd.conf是否有错误

slaptest -f /etc/openldap/slapd.conf -F /etc/openldap/slapd.d/
config file testing succeeded

可以看到没问题,然后重新生成配置文件的配置信息:先删除最先的配置文件生成的信息

rm -rf /etc/openldap/slapd.d/*

重新生成配置文件:

slaptest -f /etc/openldap/slapd.conf -F /etc/openldap/slapd.d/

查看是否生成的是自己修改的配置文件信息

cat /etc/openldap/slapd.d/cn\=config/olcDatabase\=\{2\}bdb.ldif

授权

chown -R ldap.ldap /etc/openldap/slapd.d/

重启:

/etc/init.d/slapd restart

OpenLDAP服务端基本上完成了,可以通过PhpLDAPAdmin进行web界面管理,需要PhpLDAPAdmin

二、安装PhpLDAPAdmin

安装EPEL仓库,镜像里没有PhpLDAPAdmin这个的安装包,所以得安装EPEL仓库

wget -O /etc/yum.repos.d/epel.repo http://mirrors.aliyun.com/repo/epel-6.repo
yum clean all
yum makecache

安装PhpLDAPAdmin

yum install -y phpldapadmin

修改phpldapadmin的配置文件,访问控制权限vim ,允许谁访问

vim /etc/httpd/conf.d/phpldapadmin.conf
---------------------------------------
Alias /phpldapadmin /usr/share/phpldapadmin/htdocs
Alias /ldapadmin /usr/share/phpldapadmin/htdocs

<Directory /usr/share/phpldapadmin/htdocs>
        Order Deny,Allow
        Deny from all
        Allow from 219.143.69.27
        Allow from 127.0.0.1
</Directory>

修改配置文件:

vim /etc/phpldapadmin/config.php
$servers->setValue('login','attr','dn');    这一行的注释去掉 397行
//$servers->setValue('login','attr','uid');  这一行注释掉      398

重启httpd服务

/etc/init.d/httpd restart

在浏览器输入OpenLDAP服务端的IP

http://ip地址/ldapadmin        

登录,输入管理员的DN,也就是配置文件里配置的
这里写图片描述
点击认证,报错
这里写图片描述

这是因为在第一步搭建OpenLDAP服务端的时候,并没有把管理员的账号信息导入,编辑root.ldif,然后导入

vim root.ldif

dn: dc=jd,dc=com
objectclass: dcObject
objectclass: organization
o: Yunzhi,Inc.
dc: jd

dn: cn=admin,dc=jd,dc=com
objectclass: organizationalRole
cn: admin 

这里得注意每一个属性: 后必须有空格,但是值的后面不能有任何空格,然后导入:

ldapadd -x -D "cn=admin,dc=jd,dc=com" -W -f root.ldif
输入自己设置的密码

到这一步的时候,报了一个错误,如下
ldapadd -x -D “cn=admin,dc=jd,dc=com” -W -f root.ldif
Enter LDAP Password:
ldap_bind: Invalid credentials (49)
也检查了slapd.conf和root.ldif,没有看出什么错误,最后我吧这两部分分开写成了两个以 .ldif 结尾的文件,root.ldif 和 base.ldif ,然后分别用命令导入,就没有错误了。
请注意slapd.conf配置文件中的rootpw前边一定不要有空格,然后和密码之间使用tab键隔开;

vim root.ldif
dn: dc=jd,dc=com
objectclass: dcObject
objectclass: organization
o: Yunzhi,Inc.
dc: jd


ldapadd -x -D "cn=admin,dc=jd,dc=com" -W -f root.ldif
输入自己设置的密码




vim base.ldif

dn: cn=admin,dc=jd,dc=com
objectclass: organizationalRole
cn: admin 


ldapadd -x -D "cn=admin,dc=jd,dc=com" -W -f base.ldif
输入自己设置的密码

然后再通过浏览器去访问登录:
这里写图片描述

到这里,PhpLDAPAdmin搭建完了,接下来,把日志打开

三:OpenLDAP的打开日志信息

现在配置文件里加上日志行 ,这里的日志级别有很多种,-1的话会记录很多日志信息

vim /etc/openldap/slapd.conf 
末行加入
loglevel -1

这里修改了配置文件,所有得重新生成配置文件的信息

rm -rf /etc/openldap/slapd.d/*
slaptest -f /etc/openldap/slapd.conf -F /etc/openldap/slapd.d/
chown -R ldap.ldap /etc/openldap/slapd.d/
vim /etc/rsyslog.conf
末尾行加上
local4.*     /var/log/slapd/slapd.log                                          

然后重启

/etc/init.d/rsyslog restart

创建日志文件目录,授权

mkdir /var/log/slapd
chmod 755 /var/log/slapd/
chown ldap.ldap /var/log/slapd/

重启slapd服务

/etc/init.d/slapd restart

查看日志信息

tail -f  /var/log/slapd/slapd.log

四:OpenLDAP与migrationtools实现导入系统账号的相关信息

安装migrationtools

yum -y install migrationtools

修改migrationtools的配置文件,在/usr/share/migrationtools/这个目录下有很多migrationtools的文件,修改以下的两个地方

vim /usr/share/migrationtools/migrate_common.ph 

# Default DNS domain
$DEFAULT_MAIL_DOMAIN = "jd.com";

# Default base 
$DEFAULT_BASE = "dc=jd,dc=com";

生成基础的数据文件,可以自己修改这个生成的base.ldif文件,把不需要的去掉

cd /usr/share/migrationtools/
[root@iZ2ze2hx8zhd9ble41g95tZ migrationtools]# ls
migrate_all_nis_offline.sh  migrate_all_online.sh  migrate_group.pl  migrate_networks.pl          migrate_services.pl
........
[root@iZ2ze2hx8zhd9ble41g95tZ migrationtools]#./migrate_base.pl > basic.ldif

把base.ldif导入OpenLDAP

ldapadd -x -D "cn=admin,dc=jd,dc=com" -W -f basic.ldif
Enter LDAP Password: 输入之前设置的密码,我的是123qwe
adding new entry "dc=jd,dc=com"
ldap_add: Already exists (68)

这里会报错,“ldap_add: Already exists (68)”,我们可以通过-c参数强制加入,就可以导入进去了
[root@iZ2ze2hx8zhd9ble41g95tZ migrationtools]# ldapadd -x  -c -D "cn=admin,dc=jd,dc=com" -W -f basic.ldif

导入之后,通过PhpLdapAdmin可以看到已经导入进来了:
这里写图片描述

建立一个用户并加入people组:

[root@iZ2ze2hx8zhd9ble41g95tZ ~]# vim useradd.ldif

dn: uid=dh,ou=people,dc=jd,dc=com
objectclass: account
objectclass: posixAccount
objectclass: top
objectclass: shadowAccount
cn: dh
uid: dh
gidNumber: 10005
uidNumber: 3000
userPassword: 123qwe
homeDirectory: /home/dh
loginShell: /bin/bash

ldapadd -x -c -D "cn=admin,dc=jd,dc=com" -W -f useradd.ldif 
Enter LDAP Password: 123qwe
adding new entry "uid=dh,ou=people,dc=jd,dc=com"

通过以上命令已经建立好了一个用户,那么以后还会多建一些用户,整合jumpserver、Gitlab、Openvpn、Jenkins、zabbix等服务,如有错误 ,欢迎留言指正!

### 回答1: centos-6.9-x86_64-bin-dvd1是CentOS 6.9版本的安装镜像文件,适用于64位x86架构的硬件设备。该文件为一个DVD镜像文件,可以用于安装CentOS 6.9操作系统。 CentOS是一种基于Linux的免费开源操作系统,是Red Hat Enterprise Linux(RHEL)的社区版。CentOS是一个功能强大且可靠的服务器操作系统,被广泛用于企业级的服务器环境。 "bin"表示二进制文件,这意味着DVD1镜像包含的是可执行文件、库文件以及其他二进制文件。这些文件是操作系统运行的核心组件,包括内核、驱动程序和系统服务等。因为CentOS是开源的,所以用户可以访问和修改这些二进制文件。 "DVD1"表示这是一个DVD镜像文件,它通常用于光盘安装CentOS操作系统。使用此镜像文件,可以制作成安装光盘或者使用软件模拟光盘的方式进行安装。镜像文件包含了完整的CentOS 6.9版本所需要的软件包,用户可以在安装过程中选择需要安装的软件包和组件。 总结来说,centos-6.9-x86_64-bin-dvd1是一个CentOS 6.9版本的安装镜像文件,适用于64位x86架构的硬件设备。它包含了CentOS操作系统的二进制文件,可以用于制作安装光盘或者在软件模拟光盘的环境下安装CentOS 6.9操作系统。 ### 回答2: CentOS-6.9-x86_64-bin-dvd1是CentOS操作系统的一个版本,适用于x86_64架构的计算机。这个版本以dvd1的形式提供,意味着它需要通过DVD光盘来安装CentOS是基于开放源代码的Linux发行版,是Red Hat Enterprise Linux(RHEL)的一个替代品。CentOS提供了稳定、可靠和安全的操作系统,适合用于服务器和工作站。 CentOS-6.9-x86_64-bin-dvd1版本是CentOS 6.9的一个版本,适用于64位的x86架构的计算机。这个版本的安装介质是一个二进制的DVD1,其中包含了安装CentOS-6.9所需要的全部文件和软件。使用DVD1安装CentOS-6.9时,用户需要将这个DVD1光盘放入计算机的光驱中,并按照安装向导的提示进行操作。 CentOS-6.9-x86_64-bin-dvd1版本的安装介质包含了操作系统的核心组件、工具和一些常用的软件。用户可以在安装过程中选择需要安装的软件包,并根据自己的需求进行定制。安装完成后,用户可以通过命令行界面或者图形界面来管理和配置CentOS系统,运行各种应用程序和服务。 总而言之,CentOS-6.9-x86_64-bin-dvd1是一个适用于64位x86架构计算机的CentOS 6.9版本。通过使用DVD1进行安装,用户可以获得一个稳定、可靠、安全的操作系统,适用于服务器和工作站。 ### 回答3: CentOS-6.9-x86_64-bin-DVD1是指CentOS操作系统的一个版本。CentOS是一种基于Linux内核的开源操作系统,它是Red Hat Enterprise Linux(RHEL)的重建版本,所有的软件包和补丁都由CentOS团队重新编译和打包,以保证与RHEL的兼容性。 CentOS-6.9-x86_64-bin-DVD1是CentOS 6.9版本的一个可执行文件的名称。x86_64表示支持64位的x86架构的处理器,这是目前大多数计算机使用的架构。bin表示这是一个可执行二进制文件。DVD1表示这个版本的CentOS被分发在单个DVD光盘上,而不是多个光盘。 通过CentOS-6.9-x86_64-bin-DVD1,用户可以在一台兼容的计算机上安装CentOS 6.9操作系统。用户可以将DVD插入计算机的光驱,然后从DVD启动计算机。这将引导用户进入CentOS安装程序,用户可以按照向导的指示进行安装CentOS-6.9-x86_64-bin-DVD1包含完整的CentOS 6.9版本的软件包。这些软件包包括操作系统核心、硬件驱动程序、实用工具、应用程序等等。用户安装CentOS后,可以利用这些软件包来构建和运行各种不同类型的应用程序,从简单的桌面应用程序到复杂的服务器应用程序。 总之,CentOS-6.9-x86_64-bin-DVD1提供了安装CentOS 6.9操作系统所需的一切。用户可以使用这个可执行文件将CentOS 6.9安装到计算机上,并且根据自己的需求自定义软件包的安装CentOS操作系统以其稳定性、免费使用和广泛的社区支持而受到很多用户的欢迎。
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值