我已经安装并configuration了LDAP,安装并configuration了kerberos以使用LDAP作为后端,如下所示:
[dbdefaults] ldap_kerberos_container_dn = dc=voltage,dc=com [dbmodules] openldap_ldapconf = { db_library = kldap ldap_kdc_dn = "cn=admin,dc=voltage,dc=com" # this object needs to have read rights on # the realm container, principal container and realm sub-trees ldap_kadmind_dn = "cn=admin,dc=voltage,dc=com" # this object needs to have read and write rights on # the realm container, principal container and realm sub-trees ldap_service_password_file = /etc/krb5kdc/service.keyfile ldap_servers = ldap://ldap.voltage.com ldap_conns_per_server = 5 }
但是,当我进入kadmin.local并尝试:
addprinc -x dn="uid=sam,ou=ssn,dc=voltage,dc=com" sam
我明白了
add_principal: Unsupported argument "dn=uid=sam,ou=ssn,dc=voltage,dc=com" for db2 while creating "[email protected]".
这意味着kadmin正试图将主体添加到db2而不是LDAP后端,对吧?
我也做了:
sudo kdb5_ldap_util -D cn=admin,dc=example,dc=com create -subtrees \ dc=example,dc=com -r EXAMPLE.COM -s -H ldap://ldap01.example.com sudo kdb5_ldap_util -D cn=admin,dc=example,dc=com stashsrvpw -f \ /etc/krb5kdc/service.keyfile cn=admin,dc=example,dc=com
在将示例重命名为电压之后,两个命令都成功运行并显示新的REALM已创build
任何帮助表示赞赏
我得到相同的错误,直到我更新我的/etc/krb5.conf和/var/kerberos/krb5kdc/kdc.conf添加领域部分下的database_module并添加dbdefaults和dbmodules部分。 我正在使用RHEL 6,下面是基于我的krb5.conf和kdc.conf的示例。
的/etc/krb5.conf
[logging]
默认= FILE:/var/log/krb5libs.log
kdc = FILE:/var/log/krb5kdc.log
admin_server = FILE:/var/log/kadmind.log
[libdefaults]
default_realm = VOLTAGE.COM
dns_lookup_realm = false
dns_lookup_kdc = false
ticket_lifetime = 24h
renew_lifetime = 7d
可转换= true
[领域]
VOLTAGE.COM = {
kdc = server1.voltage.com
admin_server = server1.voltage.com
default_domain = voltage.com
database_module = openldap_ldapconf
}
[domain_realm]
.voltage.com = VOLTAGE.COM
voltage.com = VOLTAGE.COM
[的appdefaults]
pam = {
debug = false
ticket_lifetime = 36000
renew_lifetime = 36000
可转换= true
krb4_convert = false
}
[dbdefaults]
ldap_kerberos_container_dn = dc =电压,dc = com
[dbmodules]
openldap_ldapconf = {
db_library = kldap
ldap_kdc_dn =“cn = admin,dc =电压,dc = com”
ldap_kadmind_dn =“cn = admin,dc = voltage,dc = com”
ldap_service_password_file = /var/kerberos/krb5kdc/service.keyfile
ldap_servers = ldaps://ldap.voltage.com
ldap_conns_per_server = 5
}
/var/kerberos/krb5kdc/kdc.conf
[kdcdefaults]
kdc_ports = 88
kdc_tcp_ports = 88
[领域]
VOLTAGE.COM = {
database_module = openldap_ldapconf
master_key_type = aes256-cts
key_stash_file = /var/kerberos/krb5kdc/.k5.VOLTAGE.COM
acl_file = /var/kerberos/krb5kdc/kadm5.acl
dict_file = / usr / share / dict / words
admin_keytab = /var/kerberos/krb5kdc/kadm5.keytab
supported_enctypes = aes256-cts:normal aes128-cts:normal des3-hmac-sha1:normal arcfour-hmac:normal des-hmac-sha1:normal des-cbc-md5:normal des-cbc-crc:normal
}
[dbdefaults]
ldap_kerberos_container_dn = dc =电压,dc = com
[dbmodules]
openldap_ldapconf = {
db_library = kldap
ldap_kdc_dn =“cn = admin,dc =电压,dc = com”
ldap_kadmind_dn =“cn = admin,dc = voltage,dc = com”
ldap_service_password_file = /var/kerberos/krb5kdc/service.keyfile
ldap_servers = ldaps://ldap.voltage.com
ldap_conns_per_server = 5
}
然后重新启动Kerberos服务器进程并添加您的用户原则。
希望有所帮助!
也许你在你的领域缺less“database_module = openldap_ldapconf”
[realms] BEISPIEL.DE = { kdc = kdc01.beispiel.de kdc = kdc02.beispiel.de admin_server = kdc01.beispiel.de admin_server = kdc02.beispiel.de default_domain = beispiel.de database_module = openldap_ldapconf # MISSING!?!?!?! }