LDAP backend - help needed...

Berthold Cogel cogel at uni-koeln.de
Mon May 7 11:38:10 EDT 2012


Hello!

I'm trying to get kerberos running with an LDAP backend.

System is RHEL 5.8 with krb5 1.6.1-70.el5 packages.

I've set up the LDAP server with kerberos.schema, created an ou=Kerberos
and organizational roles 'kcd' and 'kadmind' within the ou. ACLs are set
so that these roles can authenticate and make changes to the ou=Kerberos
and ou=People.


[root at hydra krb5kdc]# KRB5_CONFIG=/var/kerberos/krb5kdc/kdc.conf
[root at hydra krb5kdc]# export KRB5_CONFIG
[root at hydra krb5kdc]# kdb5_ldap_util create -D
cn=ldapmgr,ou=DSA,dc=uni-koeln,dc=de -r EXAMPLE.UNI-KOELN.DE -s -sscope sub
Password for "cn=ldapmgr,ou=DSA,dc=uni-koeln,dc=de":
Initializing database for realm 'EXAMPLE.UNI-KOELN.DE'
You will be prompted for the database Master Password.
It is important that you NOT FORGET this password.
Enter KDC database master key:
Re-enter KDC database master key to verify:


The realm container with all principals is created successfully.

[root at hydra krb5kdc]# kdb5_ldap_util stashsrvpw -D
cn=ldapmgr,ou=DSA,dc=uni-koeln,dc=de -f
/var/kerberos/krb5kdc/service.keyfile cn=kdc,ou=Kerberos,dc=uni-koeln,dc=de
Password for "cn=ldapmgr,ou=DSA,dc=uni-koeln,dc=de":
Password for "cn=kdc,ou=Kerberos,dc=uni-koeln,dc=de":
Re-enter password for "cn=kdc,ou=Kerberos,dc=uni-koeln,dc=de":
[root at hydra krb5kdc]# kdb5_ldap_util stashsrvpw -D
cn=ldapmgr,ou=DSA,dc=uni-koeln,dc=de -f
/var/kerberos/krb5kdc/service.keyfile
cn=kadmind,ou=Kerberos,dc=uni-koeln,dc=de
Password for "cn=ldapmgr,ou=DSA,dc=uni-koeln,dc=de":
Password for "cn=kadmind,ou=Kerberos,dc=uni-koeln,dc=de":
Re-enter password for "cn=kadmind,ou=Kerberos,dc=uni-koeln,dc=de":


[root at hydra krb5kdc]# ls -al
total 24
drwxr-xr-x 2 root root 4096 May  7 16:09 .
drwxr-xr-x 3 root root 4096 Dec 27 23:34 ..
-rw------- 1 root root   30 May  7 15:23 .k5.EXAMPLE.UNI-KOELN.DE
-rw-r--r-- 1 root root   32 May  7 15:20 kadm5.acl
-rw-r--r-- 1 root root 1028 May  7 15:20 kdc.conf
-rw------- 1 root root  128 May  7 16:09 service.keyfile


But now:

[root at hydra krb5kdc]# kadmin.local
kadmin.local: unable to get default realm

[root at hydra krb5kdc]# kadmin.local -r EXAMPLE.UNI-KOELN.DE
Authenticating as principal root/admin at EXAMPLE.UNI-KOELN.DE with password.
kadmin.local: Invalid argument while initializing kadmin.local interface


In /etc/krb5.conf:

[libdefaults]
  default_realm = EXAMPLE.UNI-KOELN.DE
  kdc_timesync = 0
  allow_weak_crypto=true
  dns_lookup_realm = false

[realms]
 EXAMPLE.UNI-KOELN.DE = {
  kdc = hydra.rrz.uni-koeln.de:88
  admin_server = hydra.rrz.uni-koeln.de:749
  default_domain = rrz.uni-koeln.de
  }
[domain_realm]
  .rrz.uni-koeln.de = EXAMPLE.UNI-KOELN.DE
[logging]
  kdc = SYSLOG:INFO:LOCAL0
  admin_server = SYSLOG:INFO:LOCAL0
  default = SYSLOG:INFO:LOCAL0


/var/kerberos/krb5kdc/kdc.conf:


[kdcdefaults]
  kdc_ports = 750,88
  kdc_tcp_ports = 88
  v4_mode = nopreauth
[realms]
  EXAMPLE.UNI-KOELN.DE = {
    acl_file = /var/kerberos/krb5kdc/kadm5.acl
    dict_file = /usr/share/dict/words
    key_stash_file = /var/kerberos/krb5kdc/.k5.EXAMPLE.UNI-KOELN.DE
    supported_enctypes = aes256-cts-hmac-sha1-96:normal
des-cbc-crc:normal des:afs3
    default_principal_flags = +preauth
    database_module = openldap_ldapconf
  }
[logging]
  kdc = SYSLOG:INFO:LOCAL0
  admin_server = SYSLOG:INFO:LOCAL0
  default = SYSLOG:INFO:LOCAL0
[dbdefaults]
  ldap_kerberos_container_dn = "ou=Kerberos,dc=uni-koeln,dc=de"
[dbmodules]
  openldap_ldapconf = {
    db_library = kldap
    ldap_kerberos_container_dn = "ou=Kerberos,dc=uni-koeln,dc=de"
    ldap_kdc_dn = "cn=kdc,ou=Kerberos,dc=uni-koeln,dc=de"
    ldap_kadmin_dn = "cn=kadmind,ou=Kerberos,dc=uni-koeln,dc=de"
    ldap_service_password_file = "/var/kerberos/krb5kdc/service.keyfile"
    ldap_servers = "ldaps://hydra.rrz.uni-koeln.de"
    ldap_cons_per_server = 5
  }


/var/kerberos/krb5kdc/kadm5.acl:

*/admin at EXAMPLE.UNI-KOELN.de	*


Configuring kerberos and LDAP with 'ldapi://...' gives the same error
messages. Setting up kerberos without openldap works. I do get this error.

[root at hydra krb5kdc]# kadmin.local
kadmin.local: unable to get default realm

(strace shows that kadmin.local doesn't read /etc/krb5.conf... copying
libdefaults section into kdc.conf fixes this one... hmmpf.... Don't know
if this is a bug in the Red Hat version only...)


But ..

root at hydra krb5kdc]# kadmin.local -r EXAMPLE.UNI-KOELN.DE
Authenticating as principal root/admin at EXAMPLE.UNI-KOELN.DE with password.
kadmin.local:  listprincs
K/M at EXAMPLE.UNI-KOELN.DE
kadmin/admin at EXAMPLE.UNI-KOELN.DE
kadmin/changepw at EXAMPLE.UNI-KOELN.DE
kadmin/history at EXAMPLE.UNI-KOELN.DE
kadmin/hydra.rrz.uni-koeln.de at EXAMPLE.UNI-KOELN.DE
krbtgt/EXAMPLE.UNI-KOELN.DE at EXAMPLE.UNI-KOELN.DE

For this one I've deleted the dbdefault and dbmodules sections and
replaced the database_module entry with a database_name .


Does anybody know if the LDAP backend works with this kerberos version
and with RHEL? What did I miss?


Regards

Berthold Cogel


More information about the Kerberos mailing list