5/6/2018 1:48:32 PM
OpenLDAP服务简介
一、服务端配置OpenLDAP服务
- 1. 部署openLDAP、openldap-clients、openldap-servers、migrationtools等相关软件包
- 2. 将服务端主机域名与IP写入hosts记录
- 3. 将明文密码加密生成秘钥文件
- 4. 使用OpenSSL工具生成X509格式的证书文件(公钥和私钥文件),并修改证书的所属与权限
- 5. 复制数据库模板文件,slaptest生成slap数据库文件,以及修改文件的权限
- 6. 重启slap服务程序并设置开机启动项 systemctl restart/enable slapd
- 7. 切换到schema数据模型目录,添加cosine和nis.ldif模块 ldapadd -Y EXTERNAL
- 8. 添加/etc/openldap/changes.ldif,并且将新的配置文件更新到slapd服务程序(数据库中)ldapmodify
- 9. 创建/etc/openldap/base.ldif 文件,并添加新的目录结构到目录结构服务 ldapadd -x -w
- 10. 创建测试用户liming,并指定家目录
- 11. 设置账户的迁移 /usr/share/migrationtools/migrate_common.ph 文件(修改71和74行)
- 12. 将当前系统中的用户迁移至目录服务
- 13. 将当前系统中的用户组迁移至目录服务,并且测试liming用户的配置文件
- 14. 安装httpd服务程序用于传输私钥验证文件
- 15. 将密钥文件上传到网站目录下,修改网站目录权限,并且重启httpd服务,加入开机启动项
- 16. 设置防火墙(清空防火请,实际需要设置防火墙规则链)
二、配置LDAP客户端
- 1. 将LDAP服务端域名写入主机文件hosts文件
- 2. 安装相关软件包 yum install -y openldap-clients nss-pam-ldap authconfig-gtk pam-krb5
- 3.运行系统认证工具,修改LDAP服务端验证信息 system-config-authentication
- 4. 测试客户端验证liming用户
- 5. 客户端自动挂载用户家目录
- 服务端:
- 6. 编辑NFS服务主配置文件 /etc/exports
- 7. 重启并加入开机启动rpcbind服务、nfs-server服务,rpcbind服务是为nfs提供端口服务
- 客户端:
- 8. 查看LDAP服务端NFS共享信息 showmount -e IP
- 9. 创建本地挂载点,编辑/etc/fstab 文件自动挂载共享目录
- 10. 切换liming用户,测试是否可以正常切换至其家目录
基本过程
- 1. 部署openLDAP、openldap-clients、openldap-servers、migrationtools等相关软件包
- 2. 将服务端主机域名与IP写入hosts记录
- 3. 将明文密码加密生成秘钥文件
- 4. 使用OpenSSL工具生成X509格式的证书文件(公钥和私钥文件),并修改证书的所属与权限
- 5. 复制数据库模板文件,slaptest生成slap数据库文件,以及修改文件的权限
- 6. 重启slap服务程序并设置开机启动项 systemctl restart/enable slapd
- 7. 切换到schema数据模型目录,添加cosine和nis.ldif模块 ldapadd -Y EXTERNAL
- 8. 添加/etc/openldap/changes.ldif,并且将新的配置文件更新到slapd服务程序(数据库中)ldapmodify
- 9. 创建/etc/openldap/base.ldif 文件,并添加新的目录结构到目录结构服务 ldapadd -x -w
- 10. 创建测试用户liming,并指定家目录
- 11. 设置账户的迁移 /usr/share/migrationtools/migrate_common.ph 文件(修改71和74行)
- 12. 将当前系统中的用户迁移至目录服务
- 13. 将当前系统中的用户组迁移至目录服务,并且测试liming用户的配置文件
- 14. 安装httpd服务程序用于传输私钥验证文件
- 15. 将密钥文件上传到网站目录下,修改网站目录权限,并且重启httpd服务,加入开机启动项
- 16. 设置防火墙(清空防火请,实际需要设置防火墙规则链)
因为LDAP目录服务是以明文的方式在网络中传输数据的(包括密码),这样真的很不安全,所以我们采用TLS加密机制来解决这个问题,使用openssl工具生成X509格式的证书文件(有效期为365天):
添加/etc/openldap/changes.ldif如下:
dn: olcDatabase={2}hdb,cn=config
changetype: modify
replace: olcSuffix
olcSuffix: dc=linux,dc=com
dn: olcDatabase={2}hdb,cn=config
changetype: modify
replace: olcRootDN
olcRootDN: cn=Manager,dc=linux,dc=com
dn: olcDatabase={2}hdb,cn=config
changetype: modify
replace: olcRootPW
olcRootPW: 此处输入之前生成的密码(如{SSHA}v/GJvGG8SbIuCxhfTDVhkmWEuz2afNIR)
dn: cn=config
changetype: modify
replace: olcTLSCertificateFile
olcTLSCertificateFile: /etc/openldap/certs/cert.pem
dn: cn=config
changetype: modify
replace: olcTLSCertificateKeyFile
olcTLSCertificateKeyFile: /etc/openldap/certs/priv.pem
dn: cn=config
changetype: modify
replace: olcLogLevel
olcLogLevel: -1
dn: olcDatabase={1}monitor,cn=config
changetype: modify
replace: olcAccess
olcAccess: {0}to * by dn.base="gidNumber=0+uidNumber=0,cn=peercred,cn=external,cn=auth" read by dn.base="cn=Manager,dc=linux,dc=com" read by * none
添加/etc/openldap/base.ldif ,注意修改dc为你定义的
dn: dc=linux,dc=com
dc: linux
objectClass: top
objectClass: domain
dn: ou=People,dc=linux,dc=com
ou: People
objectClass: top
objectClass: organizationalUnit
dn: ou=Group,dc=linux,dc=com
ou: Group
objectClass: top
objectClass: organizationalUnit
在LDAP目录服务中使用LDIF(LDAP Interchange Format)格式来保存信息,而LDIF是一种标准的文本文件且可以随意的导入导出,所以我们需要有一种“格式”标准化LDIF文件的写法,这中格式叫做“schema”,schema用于指定一个目录中所包含对象的类型,以及每一个类型中的可选属性,我们可以将schema理解为面向对象程序设计中的“类”,通过“类”定义出具体的对象,因此其实LDIF数据条目则都是通过schema数据模型创建出来的具体对象:
参数 | 作用 |
-x | 进行简单认证。 |
-D | 用于绑定服务器的dn。 |
-h: | 目录服务的地址 |
-w: | 绑定dn的密码。 |
-f: | 使用LDIF文件进行条目添加的文件。 |
将用户和用户组迁移至目录服务器
测试liming用户的配置文件
基本过程
- 客户端:
- 1. 将LDAP服务端域名写入主机文件hosts文件
- 2. 安装相关软件包 yum install -y openldap-clients nss-pam-ldap authconfig-gtk pam-krb5
- 3.运行系统认证工具,修改LDAP服务端验证信息 system-config-authentication
- 4. 测试客户端验证liming用户
- 5. 客户端自动挂载用户家目录
- 服务端:
- 6. 编辑NFS服务主配置文件 /etc/exports
- 7. 重启并加入开机启动rpcbind服务、nfs-server服务,rpcbind服务是为nfs提供端口服务
- 客户端:
- 8. 查看LDAP服务端NFS共享信息 showmount -e IP
- 9. 创建本地挂载点,编辑/etc/fstab 文件自动挂载共享目录
- 10. 切换liming用户,测试是否可以正常切换至其家目录
填写证书地址:
稍等片刻后,验证本地是否已经有了ldapuser用户:
[root@liming~]# id liming
uid=1001(liming) gid=1001(liming) groups=1001(liming)
#####虽然在客户端已经能够使用LDAP验证帐户了,但是当切换到ldapuser用户时会提示没有该用户的家目录:原因是本机并没有该用户的家目录,我们需要配置NFS服务将用户的家目录自动挂载过来。