kerberos: Added support to kerberos::client for resolving kdc servers using DNS SRV records.

This commit is contained in:
Timo Makinen 2014-01-22 15:41:54 +02:00
parent c38f5985f5
commit e3383a2433
2 changed files with 20 additions and 2 deletions

View file

@ -7,7 +7,8 @@
# Kerberos realm name. # Kerberos realm name.
# #
# $kerberos_kdc: # $kerberos_kdc:
# Array containing list of Kerberos KDC servers. # Array containing list of Kerberos KDC servers. Default is to
# find servers using DNS SRV records.
# #
# $kerberos_kadmin: # $kerberos_kadmin:
# Kerberos admin server address. Defaults to first KDC server. # Kerberos admin server address. Defaults to first KDC server.
@ -18,6 +19,17 @@
# #
class kerberos::client { class kerberos::client {
if !$kerberos_kadmin and $kerberos_kdc {
$kerberos_kadmin = $kerberos_kdc[0]
}
if !$kerberos_kpasswd and $kerberos_kdc {
$kerberos_kpasswd = $kerberos_kdc[0]
}
if !$kerberos_kdc {
$kerberos_kdc = []
}
case $::operatingsystem { case $::operatingsystem {
"centos","redhat","fedora": { "centos","redhat","fedora": {
package { "krb5-workstation": package { "krb5-workstation":

View file

@ -1,7 +1,11 @@
[libdefaults] [libdefaults]
default_realm = <%= @kerberos_realm %> default_realm = <%= @kerberos_realm %>
dns_lookup_realm = false dns_lookup_realm = false
<% if @kerberos_kdc.count == 0 -%>
dns_lookup_kdc = true
<% else -%>
dns_lookup_kdc = false dns_lookup_kdc = false
<% end -%>
ticket_lifetime = 24h ticket_lifetime = 24h
forwardable = yes forwardable = yes
@ -14,7 +18,9 @@
<% @kerberos_kdc.each do |kdc| -%> <% @kerberos_kdc.each do |kdc| -%>
kdc = <%= kdc %> kdc = <%= kdc %>
<% end -%> <% end -%>
admin_server = <% if @kerberos_kadmin %><%= @kerberos_kadmin %><% else %><%= @kerberos_kdc[0] %><% end %> <% if @kerberos_kadmin -%>
admin_server = <%= @kerberos_kadmin %>
<% end -%>
<% if @kerberos_kpasswd -%> <% if @kerberos_kpasswd -%>
kpasswd_server = <%= @kerberos_kpasswd %> kpasswd_server = <%= @kerberos_kpasswd %>
<% end -%> <% end -%>