Linux UNIX OpenLDAP实战指南_操作系统教程
资源名称:Linux UNIX OpenLDAP实战指南
作者简介:
郭大勇(Sandy),系统架构师,从事Linux 系统运维管理工作近6 年。擅长领域有Linux 网站架构规划、Linux 应用集群部署、Linux 系统安全、MySQL 架构设计、自动化运维管理、监控平台架构、分布式存储、云计算、存储架构优化等。
资源目录:
第 1章 OpenLDAP介绍及工作原理详解 2
1.1 关于OpenLDAP 3
1.1.1 OpenLDAP是什么 3
1.1.2 为什么选择OpenLDAP产品 4
1.1.3 OpenLDAP目录服务优点 4
1.1.4 OpenLDAP功能 5
1.1.5 OpenLDAP协议版本概述 5
1.1.6 LDAP产品汇总 6
1.1.7 OpenLDAP适用场景 6
1.1.8 OpenLDAP支持的系统平台 6
1.1.9 OpenLDAP高 级功能汇总 7
1.2 OpenLDAP目录架构 7
1.2.1 OpenLDAP目录架构介绍 7
1.2.2 互联网命名组织架构 7
1.2.3 企业级命名组织架构 8
1.2.4 OpenLDAP的系统架构 8
1.2.5 OpenLDAP的工作模型 9
1.3 OpenLDAP schema概念 9
1.3.1 schema介绍及用途 9
1.3.2 获取schema的途径 10
1.4 OpenLDAP目录条目概述 11
1.4.1 objectClass分类 11
1.4.2 OpenLDAP常见的objectClass 11
1.4.3 objectClass详解 13
1.4.4 objectClass案例分析 13
1.5 属性 14
1.5.1 属性概述 14
1.5.2 Attribute详解 14
1.6 LDIF详解 15
1.6.1 LDIF用途 15
1.6.2 LDIF文件特点 15
1.6.3 LDIF格式语法 16
1.7 对象标识符讲解 16
1.8 自动化运维解决方案 17
1.8.1 互联网面临的问题 17
1.8.2 自动化解决方案 18
1.9 本章总结 19
第 2章 OpenLDAP服务器安装与配置 20
2.1 OpenLDAP平台支持 21
2.2 OpenLDAP安装 21
2.2.1 OpenLDAP安装方式 21
2.2.2 OpenLDAP安装步骤 21
2.3 Linux平台安装 21
2.3.1 yum用途及语法 21
2.3.2 以软件包形式安装 23
2.3.3 通过源码编译安装 24
2.3.4 错误分析、解决 27
2.4 OpenLDAP配置 28
2.4.1 OpenLDAP相关信息 28
2.4.2 slapd.conf配置文件 28
2.5 OpenLDAP单节点配置案例 31
2.5.1 安装环境规划 31
2.5.2 主机名规划配置 32
2.5.3 时间同步配置 32
2.5.4 防火墙、SELinux配置 33
2.5.5 FQDN域名解析配置 33
2.5.6 安装OpenLDAP组件 33
2.5.7 初始化OpenLDAP配置 34
2.5.8 slaptest检测、生成数据库 35
2.5.9 OpenLDAP日志配置 35
2.5.10 通过cn=config配置OpenLDAP日志 36
2.5.11 OpenLDAP日志切割配置 37
2.5.12 加载slapd进程、端口状态 38
2.6 OpenLDAP目录树规划 38
2.6.1 规划OpenLDAP目录树组织架构 38
2.6.2 故障分析 39
2.7 OpenLDAP用户以及与用户组相关的配置 40
2.7.1 通过migrationtools实现OpenLDAP用户及用户组的添加 40
2.7.2 自定义LDIF文件添加用户及用户组条目 42
2.8 OpenLDAP索引 43
2.8.1 索引介绍 43
2.8.2 创建索引 44
2.9 OpenLDAP控制策略 44
2.9.1 通过slapd.conf定义用户策略控制 44
2.9.2 通过cn=config定义用户控制策略 45
2.10 本章总结 45
第3章 OpenLDAP命令详解 46
3.1 OpenLDAP命令介绍 47
3.2 OpenLDAP命令讲解及案例分析 47
3.2.1 ldapsearch命令 47
3.2.2 ldapadd命令 48
3.2.3 ldapdelete命令 49
3.2.4 ldapmodify命令 50
3.2.5 ldapwhoami命令 51
3.2.6 ldapmodrdn命令 51
3.2.7 ldapcompare命令 52
3.2.8 ldappasswd命令 54
3.2.9 slaptest命令 54
3.2.10 slapindex命令 55
3.2.11 slapcat命令 55
3.3 本章总结 56
第4章 OpenLDAP客户端部署 57
4.1 服务器、存储Web控制集成OpenLDAP 58
4.1.1 客户端部署介绍 58
4.1.2 服务器Web控制台集成LDAP 58
4.1.3 EMC Web控制台集成LDAP 59
4.2 UNIX系统部署OpenLDAP客户端 60
4.2.1 本地目录服务查询流程 60
4.2.2 系统发行版5.x/6.x/7.x的部署区别 60
4.2.3 账号登录系统流程讲解 60
4.2.4 5.x、6.x、7.x系统版本以及配置文件介绍 60
4.2.5 配置文件功能介绍 61
4.2.6 三种部署方式介绍 61
4.3 红帽5.x系统版本部署 62
4.3.1 图形化部署OpenLDAP客户端 62
4.3.2 故障分析之一 64
4.3.3 故障分析之二 65
4.4 红帽6.x系统版本部署 65
4.4.1 sssd与nslcd的区别 66
4.4.2 配置文件部署 66
4.5 命令行部署OpenLDAP客户端 69
4.5.1 authconfig命令介绍 69
4.5.2 authconfig备份恢复案例 70
4.5.3 部署实施步骤 71
4.6 故障分析 72
4.7 本章总结 73
第5章 OpenLDAP GUI管理部署 74
5.1 phpLDAPadmin概述 75
5.2 部署phpLDAPadmin 75
5.2.1 安装phpLDAPadmin的环境准备 75
5.2.2 Apache部署 75
5.2.3 故障分析 76
5.2.4 验证Apache功能 77
5.2.5 PHP开发环境部署 78
5.2.6 验证当前系统是否支持PHP环境 79
5.2.7 安装phpLDAPadmin GUI管理软件 80
5.2.8 验证phpLDAPadmin界面 81
5.2.9 故障分析 82
5.3 通过phpLDAPadmin管理OpenLDAP 83
5.3.1 用户条目管理 83
5.3.2 phpLDAPadmin用户登录异常 87
5.4 访问phpLDAPadmin需要提供Apache验证 87
5.4.1 配置Apache认证策略 88
5.4.2 phpLDAPamdin验证认证策略 89
5.5 LAM 89
5.5.1 LAM软件简介 89
5.5.2 LAM功能 90
5.5.3 LAM安装、配置 90
5.5.4 验证LAM平台 91
5.5.5 故障分析 93
5.6 LDAP Admin管理 94
5.6.1 LDAP Admin软件介绍 94
5.6.2 LDAP Admin安装 94
5.7 LDAP Admin管理条目 96
5.7.1 条目管理 96
5.7.2 ou管理 97
5.7.3 objectClass管理 97
5.8 本章总结 99
第6章 OpenLDAP权限、密码策略控制 102
6.1 sudo详解 103
6.1.1 sudo概念描述 103
6.1.2 系统权限阐述 103
6.2 sudo权限级别分类 104
6.2.1 用户级别概念 104
6.2.2 组级别概念 104
6.2.3 命令级别概念 104
6.3 sudo执行流程讲解 105
6.4 OpenLDAP sudo权限讲解 105
6.5 sudo权限控制实战 106
6.5.1 sudo权限控制实战拓扑图 106
6.5.2 通过本地sudo规则实现OpenLDAP用户提权配置 106
6.5.3 在OpenLDAP服务端实现用户权限控制 108
6.6 在客户端配置OpenLDAP相关sudo设置 115
6.6.1 5.x、6.x部署sudo的区别 115
6.6.2 RHEL 5.x系统配置OpenLDAP的sudo规则 115
6.6.3 RHEL 6.5系统配置OpenLDAP的sudo规则 116
6.7 OpenLDAP密码策略、审计控制 118
6.7.1 密码策略 118
6.7.2 通过本地配置实现密码策略介绍 118
6.7.3 密码策略属性详解 119
6.8 OpenLDAP定制密码策略 119
6.8.1 OpenLDAP服务端定制密码策略 119
6.8.2 定义密码策略组 121
6.8.3 定义用户登录修改密码 122
6.8.4 客户端配置 123
6.9 密码审计控制 124
6.9.1 加载审计模块auditlog 124
6.9.2 在客户端验证密码策略时效 124
6.9.3 OpenLDAP用户密码跟踪 124
6.10 常见用户密码处理方法 125
6.10.1 密码被锁解决方法 125
6.10.2 如何提示修改初始密码 126
6.10.3 密码过期解决方案 127
6.11 本章总结 127
第7章 OpenLDAP主机控制策略 129
7.1 主机控制策略阐述 130
7.2 通过Linux-PAM模块实现控制 130
7.2.1 Linux-PAM组织架构 130
7.2.2 PAM配置文件语法讲解 130
7.3 通过access实现主机控制 132
7.3.1 access模块功能阐述 132
7.3.2 access配置语法 132
7.4 通过access控制用户实战演练 132
7.4.1 加载pam_access.so模块 132
7.4.2 配置access.conf访问规则 133
7.4.3 客户端验证规则 133
7.5 OpenLDAP服务端主机控制规则 134
7.5.1 定义olcModuleList对象 135
7.5.2 添加模块路径/usr/lib64/openldap 135
7.5.3 定义主机控制模块 135
7.5.4 定义主机objectClass对象 136
7.5.5 定义ldapns的schema规范 136
7.5.6 定义主机列表组 136
7.5.7 定义用户组 137
7.6 OpenLDAP客户端部署 139
7.6.1 定义FQDN解析 139
7.6.2 加载LDAP主机控制规则 139
7.6.3 在客户端验证控制策略 140
7.6.4 日志分析 141
7.7 6.x客户端部署 142
7.7.1 定义FQDN解析 142
7.7.2 pam_ldap.conf参数规划 142
7.7.3 在客户端验证控制策略 142
7.7.4 日志分析 143
7.8 LAM控制台管理 143
7.8.1 定义用户添加属性 144
7.8.2 在客户端验证 146
7.9 本章总结 147
第8章 OpenLDAP加密传输与证书颁发机构 148
8.1 OpenSSL 149
8.1.1 SSL概述 149
8.1.2 OpenSSL概述 149
8.1.3 OpenSSL会话建立过程 149
8.2 CA 150
8.2.1 CA概述 150
8.2.2 CA证书有效信息 150
8.2.3 秘钥交换原理 151
8.3 加密算法讲解 151
8.3.1 对称加密算法 151
8.3.2 单向加密算法 152
8.3.3 非对称加密算法 153
8.4 OpenSSL组件与命令 155
8.4.1 OpenSSL组件 155
8.4.2 OpenSSL命令讲解 155
8.5 通过OpenSSL构建证书颁发机构 156
8.5.1 CA证书获取途径 156
8.5.2 自建CA 156
8.6 OpenLDAP与CA集成 159
8.6.1 OpenLDAP证书获取 159
8.6.2 OpenLDAP TLS/SASL部署 160
8.6.3 客户端部署 164
8.7 phpLDAPadmin加密会话认证 167
8.7.1 部署环境规划 167
8.7.2 phpLDAPadmin加密会话 168
8.8 本章总结 172
第9章 OpenLDAP同步原理及配置 173
9.1 OpenLDAP同步 174
9.1.1 OpenLDAP同步原理 174
9.1.2 syncrepl、slurpd同步机制优缺点 175
9.1.3 OpenLDAP同步条件 175
9.1.4 OpenLDAP同步参数 175
9.2 OpenLDAP的5种同步模式 176
9.2.1 syncrepl模式 176
9.2.2 N-Way Multi-Master模式 176
9.2.3 MirrorMode模式 176
9.2.4 syncrepl Proxy模式 177
9.2.5 Delta-syncrepl模式 177
9.3 OpenLDAP主从同步实战案例 177
9.3.1 部署环境 177
9.3.2 OpenLDAP服务器初始化 178
9.3.3 配置主服务器同步策略 179
9.3.4 OpenLDAP主从同步 180
9.3.5 OpenLDAP主从同步验证 184
9.4 OpenLDAP MirrorMode同步实战案例 186
9.4.1 部署环境 186
9.4.2 为OpenLDAP主服务器A部署mirrormode 186
9.4.3 为OpenLDAP主服务器B部署mirrormode 187
9.4.4 OpenLDAP mirrormode验证 188
9.5 OpenLDAP N-Way Multi-master同步实战操作 189
9.5.1 部署环境 189
9.5.2 OpenLDAP N-WayMultimaster部署 189
9.5.3 客户端验证 191
9.6 本章总结 191
第 10章 OpenLDAP负载均衡、高可用系统架构 193
10.1 负载均衡、高可用 194
10.2 LVS介绍 194
10.2.1 LVS调度算法 194
10.2.2 LVS集群工作模式 195
10.2.3 ipvsadm命令 197
10.2.4 LVS持久连接阐述 199
10.3 LVS与OpenLDAP集成案例 200
10.3.1 编译安装ipvsadm 200
10.3.2 前端负载均衡规划 201
10.3.3 后端realserver部署 202
10.3.4 客户端验证 203
10.4 realserver健康监测 204
10.4.1 定义realserver监控脚本 204
10.4.2 自动部署LVS、realserver 206
10.4.3 自动部署LVS 206
10.4.4 自动部署realserver 207
10.5 F5与OpenLDAP集成案例 208
10.5.1 部署规划 208
10.5.2 F5 Big-IP配置 208
10.5.3 客户端部署验证 211
10.5.4 realserver故障案例 211
10.6 A10 Networks与OpenLDAP集成案例 212
10.6.1 A10 Networks管理常识 213
10.6.2 部署规划 214
10.6.3 A10 Networks配置 215
10.6.4 获取集群资源 219
10.6.5 客户端验证 220
10.6.6 realserver故障案例 220
10.7 OpenLDAP开源负载高可用架构 221
10.7.1 部署规划 221
10.7.2 Keepalived部署 222
10.7.3 客户端验证 226
10.7.4 Keepalived异常检测 226
10.8 本章总结 227
第 11章 FTP与OpenLDAP集成案例 230
11.1 FTP服务器 231
11.1.1 FTP简介 231
11.1.2 FTP功能 231
11.1.3 FTP工作原理 231
11.1.4 FTP连接模式 231
11.1.5 FTP登录方式 232
11.1.6 FTP账号验证方式 232
11.2 OpenLDAP与FTP集成案例 233
11.2.1 OpenLDAP服务、FTP服务认证机制 233
11.2.2 部署规划 233
11.2.3 FTP服务端部署 234
11.2.4 客户端验证测试 236
11.2.5 配置OpenLDAP客户端 237
11.2.6 验证OpenLDAP用户登录FTP服务器 238
11.3 故障处理 240
11.3.1 500OP异常处理 240
11.3.2 用户权限控制 240
11.4 本章总结 240
第 12章 Samba与OpenLDAP集成案例 241
12.1 Samba 242
12.1.1 Samba简介 242
12.1.2 Samba软件功能模块 242
12.1.3 Samba共享资源语法 242
12.1.4 Samba服务器安全 243
12.2 Samba部署案例 243
12.2.1 Samba组件 243
12.2.2 Samba部署注意事项 244
12.2.3 部署Samba服务端 244
12.2.4 客户端验证共享资源 246
12.3 OpenLDAP与Samba集成案例 246
12.3.1 部署规划 247
12.3.2 定义Schema 248
12.3.3 Samba服务器端配置OpenLDAP验证 248
12.3.4 客户端验证 249
12.3.5 Samba扩展——OpenLDAP组访问Samba资源 251
12.4 通过LDAP Admin管理Samba账号 251
12.4.1 登录LDAP Admin 252
12.4.2 添加Samba账号 252
12.4.3 授权Samba账号 253
12.5 本章总结 253
第 13章 Zabbix与OpenLDAP集成案例 254
13.1 Zabbix 255
13.1.1 Zabbix简介 255
13.1.2 Zabbix特点 255
13.1.3 Zabbix安装部署 255
13.1.4 Zabbix配置 256
13.1.5 Zabbix初始化规划 258
13.2 Zabbix与OpenLDAP集成案例 261
13.2.1 Zabbix验证模式介绍 261
13.2.2 Zabbix基于OpenLDAP的配置参数讲解 262
13.2.3 基于Zabbix实现OpenLDAP验证实战 262
13.2.4 Zabbix用户管理 264
13.2.5 Zabbix异常案例分析 267
13.3 本章总结 268
第 14章 Apache与OpenLDAP集成验证 269
14.1 Apache 270
14.1.1 Apache介绍 270
14.1.2 Apache部署方式 270
14.1.3 Apache部署实战 270
14.1.4 客户端测试 271
14.2 OpenLDAP与Apache集成 272
14.2.1 OpenLDAP与Apache部署案例 272
14.2.2 限制OpenLDAP用户登录Apache 275
14.2.3 限制OpenLDAP组访问Apache 277
14.3 本章总结 279
第 15章 Jumpserver开源跳板机集成案例 280
15.1 Jumpserver介绍 281
15.1.1 认识Jumpserver 281
15.1.2 Jumpserver原理详解 281
15.2 Jumpserver与OpenLDAP集成案例 283
15.2.1 环境部署规划 283
15.2.2 安装epel源和依赖包 283
15.2.3 MySQL数据库部署 283
15.2.4 Jumpserver安装、部署 286
15.2.5 验证Jumpserver 290
15.3 Jumpserver管理 292
15.3.1 用户管理 292
15.3.2 资产管理 294
15.3.3 授权管理 296
15.3.4 审计管理 299
15.3.5 用户登录验证 299
15.4 本章总结 301
第 16章 OpenLDAP服务器性能优化、备份恢复、故障分析 302
16.1 OpenLDAP服务器性能优化 303
16.1.1 性能优化目标 303
16.1.2 架构调整 303
16.1.3 索引优化 303
16.1.4 数据存储优化 304
16.1.5 调整条目缓存大小 304
16.1.6 客户端参数调整 304
16.1.7 OpenLDAP服务端内核参数优化 305
16.2 OpenLDAP备份、恢复 306
16.2.1 OpenLDAP备份机制 306
16.2.2 OpenLDAP恢复机制 308
16.3 OpenLDAP服务器故障分析 308
16.3.1 网络异常,账号无法正常登录 308
16.3.2 命令执行缓慢 310
16.3.3 slapd启动异常 311
16.3.4 slaptest检测失败 311
16.3.5 OpenLDAP条目异常 312
16.3.6 OpenLDAP用户连接数过多 312
16.3.7 服务器异常断电处理 313
16.4 本章总结 313
第 17章 OpenLDAP批量部署解决方案——Puppet 314
17.1 Puppet 315
17.1.1 Puppet简介 315
17.1.2 Puppet工作流程图 315
17.1.3 Puppet如何工作 316
17.1.4 Puppet工作模型 316
17.1.5 Puppet资源 316
17.1.6 Puppet资源引用 318
17.1.7 Puppet数据类型 319
17.1.8 Puppet资源间的应用链 320
17.1.9 Puppet变量作用域 320
17.1.10 Puppet条件判断 321
17.1.11 Puppet模块、类、资源 323
17.2 Puppet服务端安装、部署 324
17.2.1 部署环境 324
17.2.2 Puppet服务器安装 324
17.2.3 故障分析 326
17.2.4 Puppet master自动签署客户端证书 327
17.3 Puppet客户端部署 328
17.3.1 Puppet agent安装 328
17.3.2 故障分析 329
17.3.3 Puppet agent证书申请 329
17.3.4 Puppet master端颁发认证 329
17.3.5 客户端修改主机名的解决方案 330
17.4 Puppet agent资源验证 330
17.4.1 Puppet服务端定义资源清单 330
17.4.2 Puppet agent验证 331
17.5 Puppet kick模块 331
17.5.1 Puppet kick功能介绍 331
17.5.2 Puppet kick部署 331
17.5.3 Puppet master验证 332
17.5.4 故障分析 333
17.6 OpenLDAP客户端自动部署解决方案——Puppet 334
17.6.1 定义OpenLDAP模板 334
17.6.2 规划OpenLDAP资源代码 334
17.6.3 客户端验证 335
17.7 本章总结 338
资源截图: