原文地址:https://help.ubuntu.com/14.04/serverguide/kerberos-ldap.html
大多数情况下,我们不会光使用Kerberos;一旦用户被Kerberos认证,我们需要指出用户可以做什么(认证哪些服务)。这将会是一些程序的工作比如:LDAP。
在两个服务器之间复制一个kerberos实体数据库,或者将一个附加的用户数据库添加到您的网络中可能会比较麻烦。幸运的是,MIT Kerberos可以被配置成使用一个LDAP目录作为主数据库。本节包括配置主从Kerberos服务器使用OpenLDAP作为实体数据库。
tips:这里介绍的例子假定是MIT Kerberos和OpenLDAP。
配置OpenLDAP
首先,必要的schema(模式)需要被加载在OpenLDAP服务器上,并且这个OpenLDAP服务器和主从KDC是网络连通的。本节假设的LDAP复制至少配置在两台以上的服务器。配置OpenLDAP查看OpenLDAP服务器。
同时要求配置OpenLDAP的TLS和SSL连接,这使得KDC和LDAP服务器之间的传输是加密的。具体配置查看TLS
。
tips:cn=admin,cn=config是我们使用权限编辑ldap数据库创建的用户。大多数时候,它是RootDN。根据自己的需求进行修改。
在LDAP服务器上安装krb5-kdc-ldap包,用来加载schema。在终端输入:
sudo apt-get install krb5-kdc-ldap
解压kerberos.schema.gz文件:
sudo gzip -d /usr/share/doc/krb5-kdc-ldap/kerberos.schema.gz sudo cp /usr/share/doc/krb5-kdc-ldap/kerberos.schema /etc/ldap/schema/
Kerberos的schema需要被添加到cn=config树。下面的过程是添加一个新的schema到slapd。同样的,详细资料请查看Modifying the slapd Configuration Database。
首先,创建一个名叫schema_convert.conf的配置文件,或者其他类似描述的名字,包含以下内容:
include /etc/ldap/schema/core.schema include /etc/ldap/schema/collective.schema include /etc/ldap/schema/corba.schema include /etc/ldap/schema/cosine.schema include /etc/ldap/schema/duaconf.schema include /etc/ldap/schema/dyngroup.schema include /etc/ldap/schema/inetorgperson.schema include /etc/ldap/schema/java.schema include /etc/ldap/schema/misc.schema include /etc/ldap/schema/nis.schema include /etc/ldap/schema/openldap.schema include /etc/ldap/schema/ppolicy.schema include /etc/ldap/schema/kerberos.schema
创建一个临时目录来存放LDIF文件:
mkdir /tmp/ldif_output
现在使用slapcat来转换schema文件:
slapcat -f schema_convert.conf -F /tmp/ldif_output -n0 -s