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环境了 ...
随机推荐
- sass颜色
1只定义一次颜色 {优点:可以给变量赋予不同的值: {缺点:变量名称更改与变量值混乱: 2变浅加深 /*颜色函数*/ .warning-box { background-color:lighten($ ...
- popen()函数详解
popen()函数 /*============================================ > Copyright (C) 2014 All rights reserved ...
- Delphi中的消息截获(六种方法:Hook,SubClass,Override WndProc,Message Handler,RTTI,Form1.WindowProc:=@myfun)good
Windows是一个基于消息驱动的系统,因此,在很多时候,我们需要截获一些消息然后自己进行处理.而VCL系统又有一些特定的消息.下面对我所了解的delphi环境中截获消息进行一些总结. 就个 ...
- Windows下使用XManager访问Ubuntu 11.04的设置方法
1.Download the attached file and upload it to the server. And, enter the following command to update ...
- UI线程与worker线程
也谈谈我对UI线程和worker线程的理解 UI线程又叫界面线程,能够响应操作系统的特定消息,包括界面消息.鼠标键盘消息.自定义消息等,是在普通的worker线程基础上加上消息循环来实现的,在这个消息 ...
- 网易云课堂_C语言程序设计进阶_第一周:数据类型:整数类型、浮点类型、枚举类型_1计算分数精确值
1 计算分数精确值(10分) 题目内容: 由于计算机内部表达方式的限制,浮点运算都有精度问题,为了得到高精度的计算结果,就需要自己设计实现方法. (0,1)之间的任何浮点数都可以表达为两个正整数的商, ...
- PHP中静态方法和非静态方法的相互调用
在PHP的非静态方法中可以调用静态方法 class test{ public static function strPrint(){ echo 'this is strPrint static fun ...
- Examining the Rooms(dp,斯特灵数)
Examining the Rooms Time Limit: 2000/1000 MS (Java/Others) Memory Limit: 32768/32768 K (Java/Othe ...
- 关于oracle的certview
前两天去参加oracle 11g 的两门考试(1Z0-051和1Z0-052),在家看了好几遍题库,我本来想着上午一门,下午考一门,但是我嫌着麻烦,就预约一下午考完两门.在考试完一门后,发现成绩不 ...
- JavaScript字符串插入、删除、替换函数
JavaScript字符串插入.删除.替换函数 说明: 以下函数中前两个函数取出查找字符串的前一部分和后一部分,以用于其他函数.注意,调用一次 replaceString(mainStr,search ...