LDAP(一)之概念原理介绍

LDAP(一)之概念原理介绍,第1张

LDAP目录服务器是基于客户/服务器模式的。一个或者多个LDAP服务器包含着组成整个目录信息树(DIT)的数据。客户连接到服务器并且并发一个请求(request)。然后服务器要么以一个回答(answer)予以回应,要么给出一个指针,客户可以通过此指针获取到所需的数据(通常,该指针是指向另一个LDAP服务器)。无论客户连到哪个LDAP服务器,它看到的都是同一个目录视图(view)。这是LDAP这类全局目录服务的一个重要特征。

条目属性的关系:

LDAP的信息模型是基于条目的(entry)。一个条目就是一些具有全局唯一的标识名(Distinguished Name,简写做DN)的属性的集合。DN用于无二义性的纸袋一个唯一的条目。条目的每一个属性都有一个类型(type),一个或者多个值(value)。类型往往是特定字符串的简写,比如用“cn”指代“common name”,或是"mail"指代电子邮件地址。值(value)的语法依赖于类型(type)。比如,类型为cn的属性可能包含值"候剑豪"。类型为mail的属性可能包含值“ [email protected] ”。类型为jpeg Photo的属性可能包含二进制格式的JPEG图像。

在LDAP中,条目是按树状的层次结构组织的。传统上,这个机构旺旺是代理界限或组织界限的反应。代表国家的条目位与整个目录树的顶层。之下的条目则代表各个州以及国家性的组织。在下面的条目则代表着组织单位,个人,打印机,文件,或者你所能想到的其他的东西。目录是也可以按照因特网域名组织结构,因为它允许按照DNS对目录服务进行定时,这种命名方式正变得越来越受欢迎。下图是按照域名进行组织的一个LADP目录树,相比传统的命名方式更加让用户易于接受。另外,LDAP允许你通过使用一种叫做objectClass的特殊属性来控制哪些属性是条目所必须的,哪些属性是条目可选的。objectClass属性的值是由条目所必须遵守的方案(schema)来定义的。

一个条目是通过它的标识名来引用的。而标识名(Relative DistinguishedName 或者RDN)是由标识名和它的父条目名连在一起构成的。

LDAP定义了一个查询和更新目录的 *** 作,支持的 *** 作包括从目录中添加和删除条目,更改已有的条目,更改已有的的名字。然而,大多数情况下LDAP是用于搜索目录中的信息的。通过指定搜索过滤器,LDAP可以在目录的相关部分搜索想相符的条目。满足过滤条件的每一个条目都能收到请求消息。

一些目录服务不提供保护,允许信息对任何人可见。LDAP提供了一套机制来对客户进行身份确认,或者让客户证明他拥有连接到服务器的身份,这无疑为对服务器进行全方位的访问控制铺平了道理,从而确保了服务器上所包含信息的安全。LDAP也支持privacy和integrity的安全服务。

分类: 电脑/网络 >>软件

解析:

LDAP的英文全称是Ligheight Directory Access Protocol,一般都简称为LDAP。它是基于X.500标准的,但是简单多了并且可以根据需要定制。与X.500不同,LDAP支持TCP/IP,这对访问Inter是必须的。LDAP的核心规范在RFC中都有定义,所有与LDAP相关的RFC都可以在LDAPman RFC网页中找到。怎么使用LDAP这个术语呢?

在日常交谈中,你可能会听到有些人这么说:“我们要把那些东西存在LDAP中吗?”,或者“从LDAP数据库中取出那些数据!”,又或者“我们怎么把LDAP和关系型数据库集成在一起?”。严格地说,LDAP根本不是数据库而是用来访问存储在信息目录(也就是LDAP目录)中的信息的协议。更为确切和正式的说法应该是象这样的:“通过使用LDAP,可以在信息目录的正确位置读取(或存储)数据”。但是,也没有必要吹毛求疵,尽管表达得不够准确,我们也都知道对方在说什么。

参考:linuxaid/engineer/brimmerLDAP#_

目的:linux系统默认使用自己的Unix用户,我们有时需要多台主机都使用同一个用户,这样的还用户管理就比较麻烦。比较简单的解决方法是配置这些linux主机都使用同一个ldap的用户,这样只需要在ldap中进行用户更改即可,不再需要所有主机都进行更改了。

配置客户端:

a、安装ldap客户端:

yum install nss-pam-ldapd pam_ldap -y 

b、图形化配置:

LANG=C authconfig-tui

或者用命令修改:

authconfig --enablemkhomedir --disableldaptls --enableldap --enableldapauth --ldapserver=ldap://110.1.236.51 --ldapbasedn='dc=yinkp,dc=com' --update

cat /etc/sysconfig/authconfig |grep yes 

1、增加/etc/openldap/ldap.conf

2、修改 /etc/nsswitch.conf中sss为ldap

3、 修改/etc/pam.d/system-auth,/etc/pam.d/password-auth

sed -i 's/pam_sss.so/pam_ldap.so/g' /etc/pam.d/system-auth

sed -i 's/pam_sss.so/pam_ldap.so/g' /etc/pam.d/password-auth

4、修改sssd配置文件:

vi /etc/sssd/sssd.conf

5、修改nslcd配置文件:

vi /etc/nslcd.conf

6、重启nslcd/sssd

service nslcd restart

service sssd restart

验证:

切换为系统中没有,ldap中有的用户。如果OK,则成功。

ldapsearch -x -b 'ou=people,dc=yinkp,dc=com'

批量修改主机使用ldap用户:

分发上面已经配置好的主机上的文件到其它linux主机

注:如果没有分发脚本,也可以一个一个文件scp

deploy.sh /etc/sysconfig/authconfig /etc/sysconfig/ all

deploy.sh /etc/openldap/ldap.conf /etc/openldap/ all

deploy.sh /etc/nsswitch.conf /etc/ all

deploy.sh /etc/pam.d/system-auth /etc/pam.d/ all

deploy.sh /etc/sssd/sssd.conf /etc/sssd/ all

deploy.sh /etc/nslcd.conf /etc/ all

重启nslcd/sssd服务

runRemoteCmd.sh "/bin/systemctl restart  nslcd.service &&/bin/systemctl restart  sssd.service" ldap_client


欢迎分享,转载请注明来源:内存溢出

原文地址: http://outofmemory.cn/yw/7245830.html

(0)
打赏 微信扫一扫 微信扫一扫 支付宝扫一扫 支付宝扫一扫
上一篇 2023-04-03
下一篇 2023-04-03

发表评论

登录后才能评论

评论列表(0条)

保存