net-ldap for ruby openNebula ldap

本文涉及的产品
云原生数据库 PolarDB PostgreSQL 版,标准版 2核4GB 50GB
云原生数据库 PolarDB MySQL 版,通用型 2核4GB 50GB
简介: preface:ldap 主要概念及术语 OpenNebula issues:missing step to use LDAP as default drivercp -r /var/lib/one/remotes/auth/ldap /var/lib/one/remotes/auth/defau...

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,

目录
相关文章
|
6月前
|
网络协议 Linux Go
分享一个go开发的工具-SNMP Server
分享一个go开发的工具-SNMP Server
140 0
|
30天前
|
JavaScript Java Python
python远程登录Admin.NET
python远程登录Admin.NET
34 4
|
6月前
|
Linux 网络安全 Python
解决方案:Centos7运行Django项目报错no module named _ssl
解决方案:Centos7运行Django项目报错no module named _ssl
166 0
|
Perl 数据安全/隐私保护 Python
|
Linux 数据安全/隐私保护 监控