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多线程的实现方法详解
PHP5中可以使用新增的stream_socket_client()函数直接替换掉fsocketopen().PHP5之前的版本,你需要自己动手,用sockets扩展解决问题.PHP5的先进之处在于, ...
- skynet的流程1
logpath = "."harbor = 1address = "127.0.0.1:2526"master = "127.0.0.1:2013&q ...
- JQuery DataTables Editor---页面内容修改&&数据库信息修改 (2)
接上篇博文,详细说一下js代码以及JQuery DataTables Editor---页面内容修改&&数据库信息修改遇到的问题和解决办法. 1.关于dialog 初始化: $(&qu ...
- [Node.js]expressjs简单测试连接mysql
下载好node.js和通过npm安装好express.js后,先写package.json { "name": "application-name", &quo ...
- 上传python包到PyPI
一.前言 由于项目需要将API响应的XML内容解析成python对象,写了一个简单的xml转python的库,因为功能简单,细节处理也不好,文档也没有,没想也不好意思上传到pypi. 后来由于多个不同 ...
- C#的DLL注册为COM,Delphi来调用
非常实用的东西!过去知道这个方法的话可以解决多少问题啊 首先建立一个C#的DLL工程,写一个类 //Test.csnamespace Test...{public class MyTest...{pu ...
- Android Http异步请求,Callback
1 首先是HttpConnection,方法包括HttPost, HttpGet package com.juupoo.common; import java.util.ArrayList; impo ...
- php快递查询
http://www.oschina.net/code/snippet_60100_25087 <?php class Express { private $expressname =array ...
- ubuntu下tcpdump使用
Ubuntu默认是安装好了tcpdump工具的,如果没有安装的话使用sudo apt-get install tcpdump即可安装. (如果遇到tcpdump: no suitable devi ...
- 网易云课堂_程序设计入门-C语言_第二周:判断_2信号报告
2 信号报告(5分) 题目内容: 无线电台的RS制信号报告是由三两个部分组成的: R(Readability) 信号可辨度即清晰度. S(Strength) 信号强度即大小. 其中R位于报告第一 ...