net-ldap for ruby openNebula ldap
preface:ldap 主要概念及术语
OpenNebula issues:
missing step to use LDAP as default driver
cp -r /var/lib/one/remotes/auth/ldap /var/lib/one/remotes/auth/default
Standalone LDAP Daemon, slapd(standalone lightweight access protocol)
Lightweight Directory Access Protocol
LDAP目录中信息 按树型结构组织
具体信息存储在条目(entry)的数据结构中;
条目相当于关系型数据库中的table recored
条目具有区别名DN(distinguished name)的属性(attribute)
DN条目的区别名是用来引用条目entry
dn (distinguished name)
dn相当于关系型数据库中的关键字primary key
entry 类似于关系型数据库表的一条记录
dn(distinguished name) 用来引用entry 相当于关系型数据库的关键字primary key
dn attributed 由类型(type) 和 一个或多个values组成,相当于关系型数据库中的字段(field)名和数据类型
retrieve
LDAP中的type可以有多个value 而不是关系型数据库中为降低数据的冗余性要求实现的各个域必须是不相关的
LDAP entry组织一般按地理位置和组织关系进行组织,很直观
LDAP把数据存放在文本文件中,为了提高效率可以使用基于索引的文件数据库而不是关系型数据库
LDAP信息 以 树形结构存储
在树根一般定义国家country(c=CN)或域名(dc=com)domainName
在其下往往定义一个或多个组织(organization)(o=Acme)
组织(organization) 组织单元(organization unit)
一个组织单元可能包含诸如所有雇员.....
LDAP支持对条目能够和必须支持哪些属性进行控制,这是有一个特殊的称为对象类别(ObjectClass)的属性来实现
属性的值决定了该条目能够及至少应该包含哪些属性
inetorgPerson对象类需要支持sn(surname)和cn(common name)属性
ldap root一般定义国家 域名
o --> organization (组织,公司)
ou --> organization unit(组织单元,部门)
c --> countryName(国家)
dc --> domainComponent(域名)
sn --> suer name(真实名称)
cn --> common name (常用名称)
ldap 以树形结构组织信息
信息存储在条目中entry (可以看他是关系型数据库中的table)
entry 有个dn(distinguished name)区别名(类似关系型数据库中的 记录)
dn 有属性type及value
dn(distinguished name):o=organization,c= (country)
RDN(relative distinguished name)
dn:ou(organization unit公司-部门)=manager,o(organization 公司)=,c=country(国家)
分层hierarchy结构structure
acme
manager organization unit
employees organization
某个国家的某公司的管理组织和雇员组织dn组成
dn:cn(common name)=ruiy,ou(organization unit)=managers,o(organization)=公司名称,c(country)=国家
设计定义ldap 目录结构
导入目录信息数据
ldap的目录信息数据一般存储在ldif(lightwight directory info)文件中
ldif(ldap data interchange format)
添加任何组织单元(organization unit)以前,dn(distinguished name)
dn(distinguished name条目,ldap的一条信息记录 entry recored):o(organization(comparyName)=),c(countryName)
objectClass:organization
ldap 使用rsyslog 记录日志
/etc/openldap/slapd.conf
添加语句
loglevel 259
/etc/rsyslog.conf
添加语句
local4.* /var/log/ldap.log
1,ldap服务器搭建
2,ldap服务器及本年使用
报错解决
原因dn中无ldif中定义的OU(Organization unit类似于一个公司名称)
解决方案添加ou
list all ldap dn object
添加ou语句
3,net-ldap add for openldap extend auth Module ldap addon插件安装(位于你的One服务器上,安装这个插件 ldapbind)
4,ldap authentication for openNebula集成配置
5,openldap常用操作语句
ldapadd -x -D cn=admin,dc=ldap,dc=zzbank,dc=cc -W -f ce.ldif (添加用户及组)
ldapsearch -x -LLL -H ldap:/// -b dc=ruige,dc=zzbank,dc=cc (搜索 all object)
ldapdelete -x -W -D 'cn=admin,dc=ruige,dc=zzbank,dc=cc' "uid=ruiy,ou=people,dc=ruige,dc=zzbank,dc=cc"(删除用户及组)
Tel,
net-ldap for ruby openNebula ldap的更多相关文章
- ldap for ruby
Net::LDAP for Ruby (also called net-ldap) implements client access for the Lightweight Directory Acc ...
- ldap部署相关,ldap双机\LAM配置管理\ldap备份还原
前言 接之前我的文章,django+ldap+memcache实现单点登录+统一认证 就单点登录实现过程进行详细记录,ldap是一切的基础,可以把它理解成一个读强写弱的文件类型数据库,统一认证我们通过 ...
- 使用ldap客户端创建zimbra ldap用户的格式
cat << EOF | ldapadd -x -W -H ldap://:389 -D "uid=zimbra,cn=admins,cn=zimbra" dn: ui ...
- Windows LDAP加固之替换LDAP加密证书
之前两篇文章介绍了LDAP的安全加固,其中提到了TLS加密LDAP通信.对于通常的网页加密,RDP加密都可以在对应的管理界面中选择使用哪个证书来加密.那么对于LDAP服务,怎么确定当前使用的是哪张证书 ...
- [ldap]slapcat/ldapsearch与ldap备份
http://serverfault.com/questions/577356/ldap-backup-with-slapcat-vs-ldapsearch Used: openldap-server ...
- opennebula auth module ldap
1,安装net-ldap addon ruby library for openldap
- Centos 7 vsftpd ldap 配置
#ldap 安裝配置 环境Centos7#安装 yum install -y openldap openldap-clients openldap-servers migrationtools pam ...
- [原创]django+ldap+memcache实现单点登录+统一认证
前言 由于公司内部的系统越来越多,为了方便用户使用,通过django进行了单点登录和统一认证的尝试,目前实现了django项目的单点登录和非django项目的统一认证,中间波折挺多,涉及的技术包括dj ...
- [原创]django+ldap实现统一认证部分一(django-auth-ldap实践)
前言 接之前我的文章,django+ldap+memcache实现单点登录+统一认证 ,ldap部署相关,ldap双机\LAM配置管理\ldap备份还原,目前来说,我们已经有了高可用性的ldap环境了 ...
随机推荐
- php 迭代器与和生成器
php有很多功能强大的接口,其中ArrayAccess 与 Iterator 的配合使用可以让对象与数组一样有着灵活的访问性. 当然,用ArrayAccess 与 Iterator 配合可以用来对付数 ...
- Oracle EBS-SQL (PO-11):检查采购订单退货数.sql
select msi.segment1 物料编码, -- msi.inventory_item_id return_it ...
- jsp九九乘法表
<%@ page language="java" contentType="text/html; charset=utf-8" pageEncoding= ...
- js cookie读取
/**存放Cookies: 两个参数,一个是cookie的名子,一个是值*/ function SetCookie(name,value){ var Days = 30; //此 cookie 将被保 ...
- PMC
PMC = Production Material Control 生产及物料控制,通常分为两个部分: PC:生产控制或生产管制(台.日资公司俗称手配)主要职能是生产的计划与生产的进度控制 : MC: ...
- DLL中传递STL参数,vector对象作为dll参数传递等问题(转)
STL跨平台调用会出现很多异常,你可以试试. STL使用模板生成,当我们使用模板的时候,每一个EXE,和DLL都在编译器产生了自己的代码,导致模板所使用的静态成员不同步,所以出现数据传递的各种问题,下 ...
- POJ 3111 K Best(二分答案)
[题目链接] http://poj.org/problem?id=3111 [题目大意] 选取k个物品,最大化sum(ai)/sum(bi) [题解] 如果答案是x,那么有sigma(a)>=s ...
- 菜鸟学SSH(十八)——Hibernate动态模型+JRebel实现动态创建表
项目用的是SSH基础框架,当中有一些信息非常相似,但又不尽同样.假设每个建一个实体的话,那样实体会太多.假设分组抽象,然后继承,又不是特别有规律.鉴于这样的情况.就打算让用户自己配置要加入的字段,然后 ...
- Qemu之Network Device全虚拟方案二:虚拟网卡的创建
上文针对Qemu在前端网络流路径的建立方面做了具体的描写叙述.数据包从Host的物理网卡经过Host Linux内核中的Bridge, 经过Tap设备到达了Qemu的用户态空间.而Qemu是怎样把数据 ...
- TCP/IP的三次握手协议
关于TCP/IP的三次握手协议,这篇文章中有详细的介绍,很通俗易懂,什么时候忘了,都可以过来瞧两眼,保证很快就明白了. 首先TCP/IP协议分为三个阶段:建立连接(握手阶段),数据传输阶段,连接终止阶 ...