kerberos与openldap整合
一、安装kerberos
1.安装方法:编译源代码。
2.kerberos版本:krb5-1.7。
接下来我们开始安装kerberos:
1../configure –prefix=/usr/local/
注:--prefix=/usr/local/用来指定kerberos的安装路径。在此之前,我们需
要在usr/local/目录下创建var文件夹,在usr/local/var目录下创建krb5kdc
文件夹。
2.make
3.make install
安装kerberos 之后,开始写配置文件:
在目录/etc/下找到配置文件krb5.conf进行修改
在目录/usr/local/var/krb5kdc 下创建数据库配置文件kdc.conf和权限管理文件kadm5.acl。
这里为了方便,我们进行了最简单的权限配置。
创建数据库:/usr/local/sbin/kdb5_util create –r KDC -s
这样就基本完成了kerberos 的安装了。接下来我们启动服务,测试服务是否安装成功。
启动服务:usr/local/sbin/krb5kdc
添加管理主体:
启动kadmin服务:
启动kadmin服务失败。
通过修改目录/etc 下的hosts文件就可以解决这一问题
这个名字要与配置文件中的名字保持一致。
再次启动kadmin服务就能成功了
通过启动以上几个服务,kerberos基本安装成功了。
二、安装openldap
1.安装方法:编译源代码。
2.openldap版本:openldap-2.
3.40。
接下来我们就开始安装openldap:
1../configure --prefix=/usr/local/openldap
注:prefix=/usr/local/openldap是用来指定安装路径的。需要我们先手动
在/usr/local/目录新建openldap这个文件夹。
2.make depend
3.make
4.make test
5.make install
安装openldap 之后,开始写配置文件
在usr/local/openldap/etc/openldap/下找到配置文件slapd.conf
1.引入schema文件
2.修改目录名,设置管理员
3.设置密码
当前的密码是以明文的形式保存在配置文件之中,这样存在安全隐患,我们可以通过/usr/local/openldap/sbin下的slappasswd,将密码加密成密文的形式,保存于配置文件中。
将密文形式的密码粘贴到配置文件中
写完配置文件之后,进行数据录入
我们采用导入ldif文件的方式进行数据录入的。
首先创建一个ldif文件,在里面写入要导入openldap中的数据,内容如下:
注:每一行的行首、行尾一定不能有空格、Tab!!!
通过命令:ldapadd –x –D “cn=admin,dc=kerberos,dc=kdc”–W –f test.ldif 完成数据录入。
通过命令:ldapsearch -x -b "dc=kerberos0,dc=kdc0" "(objectclass=*)"查询
ldap中的数据。
通过以上几个步骤,可以确定openldap已经安装成功,接下来我们来安装kerbreos
三、安装kerberos
1.安装方法:编译源代码。
2.kerberos版本:krb5-1.7。
接下来我们开始安装kerberos:
1../configure --prefix=/usr/local/–with-ldap
注:--prefix=/usr/local/用来指定kerberos的安装路径,--with-ldap是将
kerberos和ldap进行整合。
在此之前,我们需要在usr/local/目录下创建var文件夹,在usr/local/var
目录下创建krb5kdc文件夹。
2.make
3.make install
安装kerberos之后,开始写配置文件
在目录/etc/下找到配置文件krb5.conf进行修改
注:红线框出来的部分,是用来指定ldap为kerberos存放数据的地方,注意在写配置文件的时候不要漏泄了这一句。蓝线框出来的部分,是存放进入ldap的密码文件的目录。
写完了kerberos的配置文件,我还要修改openldap的配置文件,使openldap 支持kerberos。
修改openldap配置,使其支持kerberos有两种情况:
1.静态通过slapd.conf配置,每次配置后需要重新启动ldap服务2.slapd.d来动态配置,不需要重新配置ldap服务器。
这里我们采用的是静态配置方法。
对于静态ldap的情况很简单就是在slapd.conf文件中配置加上
1.引入kerberos.schema
在kerberos的安装源代码,目录src/plugins/kdb/ldap/libkdb_ldap下找到kerberos.schema文件,拷贝到目录/usr/local/openldap/etc/openldap/schema下,然后在配置文件中引入kerberos.schema。
2.在slapd.conf中添加ACL
3.krb5principalName添加索引。
以上就完成了对openldap的配置文件的修改。
接下来就进行数据的录入:
1.创建全局container(ou=krb5,dc=kerberos0,dc=kdc0)
2.管理“域”的dn(cn=kdc-srv,ou=krb5,dc=kerberos0,dc=kdc0)
3.kdc服务的dn(cn=adm-srv,ou=krb5,dc=kerberos0,dc=kdc0)
同样是采用导入ldif文件的方式进行数据录入
通过命令:ldapadd –x –D “cn=admin,dc=kerberos,dc=kdc”–W –f krb.ldif 完成数据录入。
图中用红线框出来的部分就是kerberos进入ldap所需的密码,接下来我们就需要经这两个密码提取出来,以文件的形式放入krb5.conf配置文件中所指定的目录下。
通过命令:kdb5_ldap_util -D cn=admin,dc=kerberos,dc=kdc stashsrvpw -f /etc/kerberos/service.keyfile cn=kdc-srv,ou=krb5,dc=kerberos,dc=kdc和
kdb5_ldap_util –D,cn=admin,dc=kerberos,dc=kdc stashsrvpw -f /etc/kerberos/service.keyfile cn=adm-srv,ou=krb5,dc=kerberos,dc=kdc提取密码。
接下为kerberos创建域:
kdb_ldap_util –D cn=admin,dc=kerberos,dc=kdc create –r KDC –s.
这样就完成openldap对kerberos的支持。
四、测试
1.添加管理主体
命令addprinc,添加主体。
命令listprincs,列出所有的主体。
用红线框出来的就是我们刚才创建的主体。2.启动服务
命令kinit,获取票据。
命令klist,列出票据。