LDAP安装
一、介绍
LDAP 全称:Lightweight Directory Access Protocol,即“轻量级目录访问协议”。
LDAP目录以树状的层次结构来存储数据。如果你对自顶向下的DNS树或UNIX文件的目录树比较熟悉,也就很容易掌握LDAP目录树这个概念了。就象DNS的主机名那样,LDAP目录记录的标识名(Distinguished Name,简称DN)是用来读取单个记录,以及回溯到树的顶部。
二、名词介绍
https://baike.baidu.com/item/LDAP#1_1
三、安装
环境:centos7
yum -y install openldap compat-openldap openldap-clients openldap-servers openldap-servers-sql openldap-devel
systemctl start slapd
systemctl enable slapd #验证
ss -lnt|grep 389
四、配置LDAP
#1、设置LDAP管理员密码
[root@admin~]#slappasswd -h {SSHA} -s ldppassword
{SSHA}Vf9I/lXZ59i4S5A8ghqVHvLYvWVVNXNi #2、配置OpenLDAP服务器
##OpenLDAP服务器配置文件位于 /etc/openldap/slapd.d/
##olcSuffix - 数据库后缀,它是LDAP服务器提供信息的域名。简单来说,它应该更改为您的域名。
##olcRootDN - 具有对LDAP执行所有管理活动的无限制访问权限的用户的根专有名称(DN)条目,如root用户。
##olcRootPW - 上述RootDN的LDAP管理员密码。 [root@admin~]#cd /etc/openldap/slapd.d/cn\=config/ #3、创建a.ldif文件
[root@admincn=config]#vim a.ldif
[root@admincn=config]#cat a.ldif
dn: olcDatabase={2}hdb,cn=config
changetype: modify
replace: olcSuffix
olcSuffix: dc=zhang,dc=com dn: olcDatabase={2}hdb,cn=config
changetype: modify
replace: olcRootDN
olcRootDN: cn=ldapadm,dc=zhang,dc=com dn: olcDatabase={2}hdb,cn=config
changetype: modify
replace: olcRootPW
olcRootPW: {SSHA}Vf9I/lXZ59i4S5A8ghqVHvLYvWVVNXNi #上面的管理员密码 #4、将配置发送到LDAP服务器
[root@admincn=config]#ldapmodify -Y EXTERNAL -H ldapi:/// -f a.ldif
SASL/EXTERNAL authentication started
SASL username: gidNumber=0+uidNumber=0,cn=peercred,cn=external,cn=auth
SASL SSF: 0
modifying entry "olcDatabase={2}hdb,cn=config" modifying entry "olcDatabase={2}hdb,cn=config" modifying entry "olcDatabase={2}hdb,cn=config" #5、编辑monitor.ldif文件
[root@admincn=config]#vim monitor.ldif
[root@admincn=config]#cat monitor.ldif
angetype: modify
replace: olcAccess
olcAccess: {0}to * by dn.base="gidNumber=0+uidNumber=0,cn=peercred,cn=external, cn=auth" read by dn.base="cn=ldapadm,dc=zhang,dc=com" read by * none #6、将monitor.ldif配置发送到LDAP服务器。
[root@admincn=config]#ldapmodify -Y EXTERNAL -H ldapi:/// -f monitor.ldif
SASL/EXTERNAL authentication started
SASL username: gidNumber=0+uidNumber=0,cn=peercred,cn=external,cn=auth
SASL SSF: 0 #7、设置LDAP数据库
#将示例数据库配置文件复制到/var/lib/ldap并更新文件权限
[root@admincn=config]#\cp /usr/share/openldap-servers/DB_CONFIG.example /var/lib/ldap/DB_CONFIG #8、添加cosine和nis LDAP模式。
[root@admincn=config]#ldapadd -Y EXTERNAL -H ldapi:/// -f /etc/openldap/schema/cosine.ldif
SASL/EXTERNAL authentication started
SASL username: gidNumber=0+uidNumber=0,cn=peercred,cn=external,cn=auth
SASL SSF: 0
adding new entry "cn=cosine,cn=schema,cn=config" [root@admincn=config]#ldapadd -Y EXTERNAL -H ldapi:/// -f /etc/openldap/schema/nis.ldif
SASL/EXTERNAL authentication started
SASL username: gidNumber=0+uidNumber=0,cn=peercred,cn=external,cn=auth
SASL SSF: 0
adding new entry "cn=nis,cn=schema,cn=config" [root@admincn=config]#ldapadd -Y EXTERNAL -H ldapi:/// -f /etc/openldap/schema/inetorgperson.ldif
SASL/EXTERNAL authentication started
SASL username: gidNumber=0+uidNumber=0,cn=peercred,cn=external,cn=auth
SASL SSF: 0
adding new entry "cn=inetorgperson,cn=schema,cn=config" #9、base.ldif为您的域生成文件
[root@admincn=config]#vim base.ldif
[root@admincn=config]#cat base.ldif
dn: dc=zhang,dc=com
dc: zhang
objectClass: top
objectClass: domain dn: cn=ldapadm ,dc=zhang,dc=com
objectClass: organizationalRole
cn: ldapadm
description: LDAP Manager dn: ou=People,dc=zhang,dc=com
objectClass: organizationalUnit
ou: People dn: ou=Group,dc=zhang,dc=com
objectClass: organizationalUnit
ou: Group #10、构建目录结构(密码是adapadm的密码(ldppassword))
[root@admincn=config]ldapadd -x -W -D "cn=ldapadm,dc=zhang,dc=com" -f base.ldif
Enter LDAP Password:
adding new entry "dc=zhang,dc=com" adding new entry "cn=ldapadm ,dc=zhang,dc=com" adding new entry "ou=People,dc=zhang,dc=com" adding new entry "ou=Group,dc=zhang,dc=com"
五、创建LDAP用户(创建test用户)
#1、创建test.ldif文件
[root@admincn=config]#vim test.ldif
[root@admincn=config]#cat test.ldif
dn: uid=test,ou=People,dc=zhang,dc=com
objectClass: top
objectClass: account
objectClass: posixAccount
objectClass: shadowAccount
cn: test
uid: test
uidNumber: 9999
gidNumber: 100
homeDirectory: /home/test
loginShell: /bin/bash
gecos: Raj [Admin (at) zhang]
userPassword: {crypt}x
shadowLastChange: 17058
shadowMin: 0
shadowMax: 99999
shadowWarning: 7 #2、使用带有上述文件的ldapadd命令在OpenLDAP目录中创建名为“ test” 的新用户。 [root@admincn=config]#ldapadd -x -W -D "cn=ldapadm,dc=zhang,dc=com" -f test.ldif
Enter LDAP Password: (密码是adapadm的密码(ldppassword))
adding new entry "uid=test,ou=People,dc=zhang,dc=com" #3、为用户分配密码。
-s 指定用户名的密码
-x 用户名,密码已更改
-D 要对LDAP服务器进行身份验证的可分辨名称 [root@admincn=config]ldappasswd -s 123456 -W -D "cn=ldapadm,dc=zhang,dc=com" -x "uid=test,ou=People,dc=zhang,dc=com"
Enter LDAP Password: 密码是adapadm的密码(ldppassword)) #4、验证LDAP条目
[root@admincn=config]#ldapsearch -x cn=test -b dc=zhang,dc=com #5、从LDAP中删除条目
ldapdelete -W -D "cn=ldapadm,dc=zhang,dc=com" "uid=test,ou=People,dc=zhang,dc=com"
六、启用LDAP日志记录
#1、配置Rsyslog以将LDAP事件记录到日志文件/var/log/ldap.log
[root@admincn=config]#vim /etc/rsyslog.conf
[root@admincn=config]#egrep ldap /etc/rsyslog.conf
local4.* /var/log/ldap.log
#2、重启rsyslog
systemctl restart rsyslog
七、安装phpLDAPadmin
#1、下载phpldapadmin和httpd
yum install httpd php -y
yum -y install phpldapadmin #2、修改phpldapadmin配置文件
[root@adminphpldapadmin]#tail -13 /usr/share/phpldapadmin/config/config.php
*/
$servers = new Datastore();
$servers->newServer('ldap_pla');
$servers->setValue('server','name','My LDAP Server');
$servers->setValue('server','host','0.0.0.0');
$servers->setValue('server','port',389);
$servers->setValue('server','base',array('dc=zhang,dc=com')); #修改为自己的域名
$servers->setValue('login','auth_type','session');
$servers->setValue('login','bind_id','cn=Manager,dc=zhang,dc=com'); #修改为自己的域名
$servers->setValue('login','bind_pass','ldppassword'); #填入设定的根节点管理员密码
$servers->setValue('server','tls',false); ?> #3、修改phpldapadmin的httpd的配置 [root@adminphpldapadmin]#cat /etc/httpd/conf.d/phpldapadmin.conf
#
# Web-based tool for managing LDAP servers
# 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 all granted
</IfModule>
<IfModule !mod_authz_core.c>
# Apache 2.2
Order Deny,Allow
Deny from all
Allow from 127.0.0.1
Allow from ::1
</IfModule>
</Directory>
4、浏览器访问
5、登录(密码:ldppassword)
LDAP安装的更多相关文章
- (二) LDAP 安装
LDAP 安装 参考:https://blog.51cto.com/bigboss/2341986
- LDAP安装配置(windows)
目录 概述 测试环境 安装过程 配置启动 客户端介绍 多级DC的ldif文件的配置 [一].概述 什么叫LDAP呢,概念的东西这里就不多讲了,网上搜索下有很多,本文的重点是介绍如何在windows平台 ...
- 针对LDAP安装web接口,进行管理
1. 通过SSH连接LDAP服务器 2. 安装phpLDAPadmin运行以下命令. $ sudo apt-get install phpldapadmin 3. 配置phpLDAPadmin. $ ...
- 【LDAP安装】在已编译安装的PHP环境下安装LDAP模块
在已编译安装的PHP环境下安装LDAP模块 (乐维温馨提示:其他模块也能以这个方式安装) 1.在PHP源码包内找到ldap模块文件 cd php-5.6.37 cd ext/ldap/ 2.phpiz ...
- centos 7下ldap安装
环境说明: 操作系统:CentOS Linux release 7.5.1804 (Core) LDAP:2.4.44 前提条件: 关闭防火墙.selinux,同时进行时钟同步. 其中XXX需要用域名 ...
- CentOS LDAP安装配置
安装: Install the openldap, openldap-servers, and openldap-clients RPMs. Edit the /etc/openldap/slapd. ...
- LDAP第三天 MySQL+LDAP 安装
https://www.easysoft.com/applications/openldap/back-sql-odbc.html OpenLDAP 使用 SQLServer 和 Oracl ...
- ldap安装配置过程中遇到的错误,以及解决方法
错误1: [root@openldap openldap]# ldapsearch -LLL-W -x -H ldap://etiantian.org -D "cn=admin,dc=eti ...
- ldap和phpldapadmin的安装部署
LDAP 安装 一.安装LDAP 1. 安装包 yum install openssl-devel gcc libtool-ltdl-devel -y yum install openldap-ser ...
随机推荐
- 线段相交的异或值 (线段树 or 优先队列)
VVQ 最近迷上了线段这种东西 现在他手上有 n 条线段,他希望在其中找到两条有公共点的线段,使得他们的异或值最大. 定义线段的异或值为它们并的长度减他们交的长度 输入描述: 第一行包括一个正整数 n ...
- java 储存机制
1.栈 statck 局部变量名称 2.堆 heap 带new的 3.方法区 method area .class
- [洛谷P3254] [网络流24题] 圆桌游戏
Description 假设有来自m 个不同单位的代表参加一次国际会议.每个单位的代表数分别为ri (i =1,2,--,m). 会议餐厅共有n 张餐桌,每张餐桌可容纳ci (i =1,2,--,n) ...
- 深入Nodejs模块fs - 文件系统操作
node 的fs文档密密麻麻的 api 非常多,毕竟全面支持对文件系统的操作.文档组织的很好,操作基本分为文件操作.目录操作.文件信息.流这个大方面,编程方式也支持同步.异步和 Promise. 本文 ...
- 把本地仓库同步到github上去
1.愚蠢的没有进入之前设定的工作目录就开始用 git remote add origin https://github.com/bobowa/learngit.git 这个命令上传,报错如下 fata ...
- Frameworks.Entity.Core 7
1描述:实体基类,与业务和架构无关名称:EntityBase属性:public abstract 2描述:/ MongoDB的一些扩展方法名称:MongoExtensions修饰: public st ...
- Client API Object Model - Execution Context
1. executionContext. executionContext定义代码在其中执行的上下文. 并且适用在再form或者grid中的event handler. 比如formContext 或 ...
- 深入Java类加载全流程,值得你收藏
先测试一番,全对的就走人 //题目一 class Parent1{ public static String parent1 = "hello parent1"; static { ...
- 【WPF学习】第二十六章 Application类——应用程序的生命周期
在WPF中,应用程序会经历简单的生命周期.在应用程序启动后,将立即创建应用程序对象,在应用程序运行时触发各种应用程序事件,你可以选择监视其中的某些事件.最后,当释放应用程序对象时,应用程序将结束. 一 ...
- 三、Django学习之单表查询接口
查询接口 all() 查询所有结果,结果是queryset类型 filter(**kwargs) and条件关系:参数用逗号分割表示and关系 models.Student.objects.filte ...