ldap yum安装-centos6
yum安装openldap
系统环境信息
操作系统:CentOS release 6.7 基础的环境准备
iptables -F && /etc/init.d/iptables save
sed -i 's/SELINUX=enforcing/SELINUX=disabled/' /etc/selinux/config && setenforce )安装OpenLDAP的相关
yum -y install openldap openldap-servers openldap-clients openldap-devel compat-openldap #其中compat-openldap这个包与主从有很大的关系 安装完后,可以看到自动创建了ldap用户:
[root@base ~ ::&&]#cat /etc/passwd | grep ldap
ldap:x:::LDAP User:/var/lib/ldap:/sbin/nologin 可以通过rpm -qa |grep openldap查看安装了哪些包:
[root@base ~ ::&&]#rpm -qa | grep openldap
openldap-2.4.-.el6.x86_64
openldap-servers-2.4.-.el6.x86_64
compat-openldap-2.3.-.el6.x86_64
openldap-devel-2.4.-.el6.x86_64
openldap-clients-2.4.-.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 模板数据库配置文件 3) OpenLDAP监听的端口:
默认监听端口:389(明文数据传输)
加密监听端口:636(密文数据传输) 4)初始化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 5)修改配置文件
首先,slappasswd生成密文密码123456,拷贝这个到/etc/openldap/slapd.conf里
[root@base ~ 10:04:04&&12]#slappasswd
New password:
Re-enter new password:
{SSHA}6guCnCELUuh3+7DF9NmuA9CgO2uVEej+ 修改后的配置文件内容:红色字体的为修改的部分
[root@base /etc/openldap 10:08:35&&20]#cat /etc/openldap/slapd.conf
include /etc/openldap/schema/corba.schema
include /etc/openldap/schema/core.schema
include /etc/openldap/schema/cosine.schema
include /etc/openldap/schema/duaconf.schema
include /etc/openldap/schema/dyngroup.schema
include /etc/openldap/schema/inetorgperson.schema
include /etc/openldap/schema/java.schema
include /etc/openldap/schema/misc.schema
include /etc/openldap/schema/nis.schema
include /etc/openldap/schema/openldap.schema
include /etc/openldap/schema/ppolicy.schema
include /etc/openldap/schema/collective.schema
allow bind_v2
pidfile /var/run/openldap/slapd.pid
argsfile /var/run/openldap/slapd.args
TLSCACertificatePath /etc/openldap/certs
TLSCertificateFile "\"OpenLDAP Server\""
TLSCertificateKeyFile /etc/openldap/certs/password
database config
access to *
by dn.exact="gidNumber=0+uidNumber=0,cn=peercred,cn=external,cn=auth" manage
by * none
database monitor
access to *
by dn.exact="gidNumber=0+uidNumber=0,cn=peercred,cn=external,cn=auth" read
by dn.exact="cn=admin,dc=puyi,dc=com" read
by * none
database bdb
suffix "dc=puyi,dc=com"
checkpoint 1024 15
rootdn "cn=admin,dc=puyi,dc=com"
rootpw {SSHA}6guCnCELUuh3+7DF9NmuA9CgO2uVEej+
directory /var/lib/ldap
index objectClass eq,pres
index ou,cn,mail,surname,givenname eq,pres,sub
index uidNumber,gidNumber,loginShell eq,pres
index uid,memberUid eq,pres,sub
index nisMapName,nisMapEntry eq,pres,sub 6)重新生成配置文件信息文件
先检测/etc/openldap/slapd.conf是否有错误:slaptest -f /etc/openldap/slapd.conf [root@base /etc/openldap 10:08:57&&21]#slaptest -f /etc/openldap/slapd.conf
5ad6a916 bdb_db_open: database "dc=puyi,dc=com": db_open(/var/lib/ldap/id2entry.bdb) failed: No such file or directory (2).
5ad6a916 backend_startup_one (type=bdb, suffix="dc=puyi,dc=com"): bi_db_open failed! (2)
slap_startup failed (test would succeed using the -u switch) 这里报错是因为在第三步后没有重新生成配置文件,启动slapd。而是直接修改配置文件去了。先启动slapd: [root@base /etc/openldap 10:10:30&&22]#/etc/init.d/slapd restart
Stopping slapd: [FAILED]
/var/lib/ldap/__db.001 is not owned by "ldap" [WARNING]
/var/lib/ldap/__db.002 is not owned by "ldap" [WARNING]
/var/lib/ldap/__db.006 is not owned by "ldap" [WARNING]
/var/lib/ldap/alock is not owned by "ldap" [WARNING]
/var/lib/ldap/__db.004 is not owned by "ldap" [WARNING]
/var/lib/ldap/__db.005 is not owned by "ldap" [WARNING]
/var/lib/ldap/__db.003 is not owned by "ldap" [WARNING]
Starting slapd: 这里又报错,这是因为没有给/var/lib/ldap授权,授权后chown -R ldap.ldap /var/lib/ldap/,再重启slapd,/etc/init.d/slapd restart,可以看到成功的 [root@base /etc/openldap 10:11:27&&23]#chown -R ldap.ldap /var/lib/ldap/
[root@base /etc/openldap 10:12:19&&24]#/etc/init.d/slapd restart
Stopping slapd: [FAILED]
Starting slapd: [ OK ] 接着回到检测/etc/openldap/slapd.conf是否有错误:slaptest -f /etc/openldap/slapd.conf
[root@base /etc/openldap 10:12:33&&25]#slaptest -f /etc/openldap/slapd.conf
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 [root@base /etc/openldap 10:13:03&&26]#rm -rf /etc/openldap/slapd.d/*
[root@base /etc/openldap 10:13:55&&27]#slaptest -f /etc/openldap/slapd.conf -F /etc/openldap/slapd.d/
config file testing succeeded
[root@base /etc/openldap 10:14:05&&28]#cat /etc/openldap/slapd.d/cn\=config/olcDatabase\=\{2\}bdb.ldif | grep puyi
olcSuffix: dc=puyi,dc=com
olcRootDN: cn=admin,dc=puyi,dc=com 授权:chown -R ldap.ldap /etc/openldap/slapd.d/
重启:/etc/init.d/slapd restart [root@base /etc/openldap 10:14:18&&29]#chown -R ldap.ldap /etc/openldap/slapd.d/
[root@base /etc/openldap 10:15:26&&30]#/etc/init.d/slapd restart
Stopping slapd: [ OK ]
Starting slapd: [ OK ]
7)创建1个管理员账号(此账号用来登陆phpldapadmin)
编辑ldif文件 #注意与slapd.conf文件中保持一致,下面的命令同理,
#本人曾在下面的ldapadd命令中将"admin"写成了"amdin",导致一直报" ldap_bind: Invalid credentials (49)"错(每次都是翻回上一条命令执行),排查了3个小时左右才发现。
[root@localhost ~]# vim admin.ldif #此文件格式必须按照下面的格式编写,[开头不能有空格,中间有个空行]
dn: dc=puyi,dc=com
objectclass: dcObject
objectclass: organization
o: Puyi.Inc
dc: puyi
dn: cn=admin,dc=puyi,dc=com
objectclass: organizationalRole
cn: admin
插入数据库
[root@base /etc/openldap 10:39:51&&42]#ldapadd -x -D "cn=admin,dc=puyi,dc=com" -W -f admin.ldif
Enter LDAP Password: #些密码就是用slappasswd生成的密码,slapd.conf配置文件里的那个。
adding new entry "dc=puyi,dc=com"
adding new entry "cn=admin,dc=puyi,dc=com"
到这里为止,OpenLDAP服务端基本上完成了,我们可以通过PhpLDAPAdmin来登录看一下,那先得安装PhpLDAPAdmin
PhpLDAPAdmin的搭建
)安装EPEL仓库,镜像里没有PhpLDAPAdmin这个的安装包,所以得安装EPEL仓库
wget -P /etc/yum.repos.d/ http://mirrors.aliyun.com/repo/epel-6.repo
yum clean all #清除YUM缓存,yum 会把下载的软件包和header存储在cache中,而不自动删除。如果觉得占用磁盘空间,可以使用yum clean指令进行清除,
更精确 的用法是yum clean headers清除header,yum clean packages清除下载的rpm包,yum clean all一全部清除
yum makecache # 将服务器上的软件包信息 现在本地缓存,以提高 搜索 安装软件的速度
)安装PhpLDAPAdmin
yum install -y phpldapadmin )修改phpldapadmin的配置文件,访问控制权限vim /etc/httpd/conf.d/phpldapadmin.conf,允许谁访问
[root@base /etc/openldap ::&&]#cat /etc/httpd/conf.d/phpldapadmin.conf
Alias /phpldapadmin /usr/share/phpldapadmin/htdocs
Alias /ldapadmin /usr/share/phpldapadmin/htdocs <Directory /usr/share/phpldapadmin/htdocs>
<IfModule mod_authz_core.c>
# Apache 2.4
Require local
</IfModule>
<IfModule !mod_authz_core.c>
# Apache 2.2
Order Allow,Deny
Allow from all
#Deny from 127.0.0.1
#Deny from ::
</IfModule>
</Directory>
)修改配置文件:vim /etc/phpldapadmin/config.php
$servers->setValue('login','attr','dn'); 这一行的注释去掉
//$servers->setValue('login','attr','uid'); 这一行注释掉 )重启httpd服务
[root@base /etc/openldap ::&&]#/etc/init.d/httpd restart
Stopping httpd: [ OK ]
Starting httpd: httpd: Could not reliably determine the server's fully qualified domain name, using 192.168.159.14 for ServerName
[ OK ]
)在浏览器输入OpenLDAP服务端的IP 10.0.0.138/ldapadmin 登陆:用户 cn=admin,dc=puyi,dc=com 密码:
OpenLDAP的打开日志信息
vim /etc/openldap/slapd.conf #加上loglevel - 这里修改了配置文件,所有得重新生成配置文件的信息
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
就可以看到日志信息了cat /var/log/slapd/slapd.log
创建1个具有部门属性的员工
创建1个具有部门属性的员工 编辑ldif文件 #这里其实是先创建1个部门”yunwei”,再在”yunwei”部门创建了1个员工,实际上是两条命令
[root@localhost ~]# vim yunwei.ldif
dn: ou=yunwei,dc=puyi,dc=com
ou: yunwei
objectClass: organizationalUnit dn: cn=hxh,ou=yunwei,dc=puyi,dc=com
ou: yunwei
cn: hxh
sn: hui
objectClass: inetOrgPerson
objectClass: organizationalPerson 插入数据库(admin是管理员,必须用admin来创建)
[root@localhost ~]# ldapadd -x -D "cn=admin,dc=puyi,dc=com" -W -f yunwei.ldif 验证
ldapsearch -x -b 'dc=puyi,dc=com' '(objectClass=*)'
常见对象属性
LDAP为人员组织机构中常见的对象都设计了属性(比如commonName,surname)。下面有一些常用的别名:
|
属性名称 |
属性别名 |
语法 |
描述 |
值(举例) |
|
commonName |
cn |
Directory String |
名子 |
sean |
|
surname |
sn |
Directory String |
姓氏 |
Chow |
|
organizationalUnitName |
ou |
Directory String |
单位(部门)名称 |
IT_SECTION |
|
organization |
o |
Directory String |
组织(公司)名称 |
linuxprobe |
|
telephoneNumber |
|
Telephone Number |
电话号码 |
911 |
|
objectClass |
|
|
内置属性 |
organizationa |
ldif文件示例
http://www.linuxidc.com/Linux/2017-10/147559.htm
ldap yum安装-centos6的更多相关文章
- Centos6 yum安装openldap+phpldapadmin+TLS+双主配置
原文地址:http://54im.com/openldap/centos-6-yum-install-openldap-phpldapadmin-tls-%E5%8F%8C%E4%B8%BB%E9%8 ...
- centos6.5下yum安装lnmp(适合刚入职的新手的方法)
新入职的员工,开始的时候都是让配环境,本地写代码用的wamp,在lnmp或lamp测试,除非有些土豪公司 用的是(果机). 另外安装时,把整个流程在脑子里先过一篇(记不全也没关系,一回生二回熟),重在 ...
- CentOS6.5 yum安装桌面环境
安装原因 安装centos6.5时选择了minimal CentOS最小化安装方式 需要使用浏览器拨号连接内网 安装过程 通过yum grouplist查询在 group 软件包中,Desktop.D ...
- CentOS6.5 搭建基础PHP环境(yum安装)
转载:闲来无事 » CentOS6.5 搭建基础PHP环境(yum安装) yum安装php环境只需要几条简单的命令就可以实现,OK,各位客官,菜来了.首先确保你的yum源可用,或者网络是通的,不然下载 ...
- CentOS6.8通过yum安装MySQL5.7
Centos6.8通过yum安装mysql5.7 1.安装mysql的yum源 a.下载配置mysql的yum源的rpm包 根据上面3张图片中的操作下载下来的rpm文件可以通过如下命令获取: wget ...
- centos6环境下使用yum安装Ambari
前言: Ambari是apache下面的开源项目,主要通过web UI方式对Hadoop集群进行统一创建和管理,以节省Hadoop集群的运维成本.本文通过安装过程中的截图简要介绍一下相关步骤供需要的朋 ...
- centos7和centos6通过yum安装JDK1.8
centos7和centos6通过yum安装JDK1.8 查看JDK的安装路径# java -version============================查看Linux系统版本信息# cat ...
- Linux -- Centos6 yum安装相关问题与处理
Centos6 yum安装相关问题与处理 由于要使用yum下载文件,突然yum下载不了想要的文件,想更换yum源,结果得重新安装yum 来自本人GitHub地址https://github.com/m ...
- centos6 yum 安装memcached
centos6 yum 安装memcached - 像块石头 - 博客园http://www.cnblogs.com/rockee/archive/2012/08/01/2619160.html yu ...
随机推荐
- [CF1149E]Election Promises
可以猜想这题和sg函数有关.(反正也没有什么其它可用的算法) 因为是个DAG,所以可以先求出每个点的sg值.考虑怎样求答案. 根据sg函数证明的思路,我们可以考虑构造一个权值,使得以下三个条件满足: ...
- 用DELPHI中实现RAR文件解压到指定一目录
一个RAR压缩文件,用DELPHI编的程序打开它并解压到某一目录,怎么实现的?自己搞定了例子:winrar.exe e -y C:\WINDOWS\Desktop\ghost.rar d:\ 但新的问 ...
- UOJ 450 【集训队作业2018】复读机——单位根反演
题目:http://uoj.ac/problem/450 重要式子: \( e^x = \sum\limits_{i=0}^{\infty} \frac{x^i}{i!} \) \( ( e^{a*x ...
- 从Java future 到 Guava ListenableFuture实现异步调用
从Java future 到 Guava ListenableFuture实现异步调用 置顶 2016年04月24日 09:11:14 皮斯特劳沃 阅读数:17570 标签: java异步调用线程非阻 ...
- [20190727NOIP模拟测试9]单(single) 题解(树上dp)
啊啊啊啊啊啊啊啊考场上差一点就A掉了5555 千里之堤溃于蚁穴……鬼知道最后一步那么显然的柿子我为什么没考虑用上…… 观察数据范围可知,出题人期望我们想出一个$O(n)$的做法 当然也有可能是$O(n ...
- SoftDevice Specification v1.2
S110 SoftDevice是蓝牙®低功耗(BLE)外设协议栈的解决方案.它集成了一个低 能量控制器和主机,并为建设蓝牙低功耗系统全面且灵活的API 芯片(SoC)解决方案. 本文件包含SoftDe ...
- CSS-给Font Awesome拓展Base64编码的图标
和 fa 一样设置到::before中就行了,不过 fa 是直接设置内容,这里用的背景图 .fa-science-garden::before { content: ""; dis ...
- webapi返回json格式优化 转载https://www.cnblogs.com/GarsonZhang/p/5322747.html
一.设置webapi返回json格式 在App_Start下的WebApiConfig的注册函数Register中添加下面这代码 1 config.Formatters.Remove(config.F ...
- Spark自定义维护kafka的offset到zk
import kafka.common.TopicAndPartition import kafka.message.MessageAndMetadata import kafka.serialize ...
- Codeforces 1114C(数论)
题面 传送门 分析 我们先考虑n!在10进制下有多少个0 由于10=2*5, 我们考虑n!的分解式中5的指数,答案显然等于\(\frac{n}{5}+\frac{n}{5^2}+\frac{n}{5^ ...