正常在企业的环境中,会遇到账户统一管理的事情,当手下就不几台服务器时在每个机器上都创建一遍好像也没多大事事情,但当人经常更换,或者服务器达到上百台的时候这个账号的管理将会是噩梦,今天就来一起安装OpenLdap来达到网络统一账号管理和验证的目的。
什么是LDAP?
LDAP 全称轻量级目录访问协议(英文:Lightweight Directory Access Protocol),是一个运行在 TCP/IP 上的目录访问协议。目录是一个特殊的数据库,它的数据经常被查询,但是不经常更新。其专门针对读取、浏览和搜索操作进行了特定的优化。目录一般用来包含描述性的,基于属性的信息并支持精细复杂的过滤能力。比如 DNS 协议便是一种最被广泛使用的目录服务。
LDAP 中的信息按照目录信息树结构组织,树中的一个节点称之为条目(Entry),条目包含了该节点的属性及属性值。条目都可以通过识别名 dn 来全局的唯一确定1,可以类比于关系型数据库中的主键。比如 dn 为 uid=teddy,ou=People,dc=ethercap,dc=com 的条目表示在组织中一个名字叫做 teddy 的员工,其中 uid=teddy 也被称作相对区别名 rdn。
属性名 | 是否必填 | 描述 |
---|---|---|
cn | 是 | 该条目被人所熟知的通用名(Common Name) |
sn | 是 | 该条目的姓氏 |
o | 否 | 该条目所属的组织名(Organization Name) |
mobile | 否 | 该条目的手机号码 |
description | 否 | 该条目的描述信息 |
下面是一个典型的 LDAP 目录树结构,其中每个节点表示一个条目。接下来将按照这个结构来配置一个 LDAP 服务。
LDAP server搭建
1 | //安装软件 |
导入后的效果
LdapClient 客户端配置
1 | //安装客户端必备软件 |
采坑总结,自动家目录创建依靠pam_oddjob_mkhomedir.so来实现,前期,使用之前确保oddjobd 是运行状态,否则报错!
1 | yk@dev:~$ service oddjobd status |
修改sshd_config重启后报错,单纯查看状态无法知道错误信息,可以通过下面的命令查看
1 | `which sshd` -D -d |