diff options
author | Doug Rabson <dfr@FreeBSD.org> | 2008-05-07 13:39:42 +0000 |
---|---|---|
committer | Doug Rabson <dfr@FreeBSD.org> | 2008-05-07 13:39:42 +0000 |
commit | c19800e8cd5640693f36f2040db4ab5e8d738146 (patch) | |
tree | 4dbb862199a916e3ffe75f1cb08703ec0e662ffc /crypto/heimdal/packages/debian/heimdal-kdc.postinst | |
parent | 8d4ba808a53020900c275b6f1cf21fc6e9f3bf36 (diff) |
Notes
Diffstat (limited to 'crypto/heimdal/packages/debian/heimdal-kdc.postinst')
-rw-r--r-- | crypto/heimdal/packages/debian/heimdal-kdc.postinst | 98 |
1 files changed, 98 insertions, 0 deletions
diff --git a/crypto/heimdal/packages/debian/heimdal-kdc.postinst b/crypto/heimdal/packages/debian/heimdal-kdc.postinst new file mode 100644 index 000000000000..72e7af5b6fb9 --- /dev/null +++ b/crypto/heimdal/packages/debian/heimdal-kdc.postinst @@ -0,0 +1,98 @@ +#!/bin/sh -e + +. /usr/share/debconf/confmodule + +if [ ! -f /var/log/heimdal-kdc.log ] +then + touch /var/log/heimdal-kdc.log + chmod 600 /var/log/heimdal-kdc.log +fi + +add_servers() { +kadmin_entry="kerberos-adm stream tcp nowait root /usr/sbin/tcpd /usr/lib/heimdal-servers/kadmind" +hprop_entry="#krb_prop stream tcp nowait root /usr/sbin/tcpd /usr/sbin/hpropd" + + update-inetd --group KRB5 --add "$kadmin_entry" + update-inetd --group KRB5 --add "$hprop_entry" +} + +enable_servers() { + update-inetd --pattern '[ \t]/usr/lib/heimdal-servers/kadmind' --enable kerberos-adm +} + +# if not configured, try moving existing configuration +if [ ! -f /etc/heimdal-kdc/.configured ] && + [ -f /var/lib/heimdal-kdc/.configured ] +then + for i in kdc.conf kadmind.acl + do + if [ -f /var/lib/heimdal-kdc/$i ] + then + mv /var/lib/heimdal-kdc/$i /etc/heimdal-kdc/$i + fi + done + mv /var/lib/heimdal-kdc/.configured /etc/heimdal-kdc/.configured +fi + +# if already configured - dont reconfigure +if [ ! -f /etc/heimdal-kdc/.configured ] +then + # get default realm + # should use krb5-config setting??? + if db_get krb5-config/default_realm && [ "x$RET" != "x" ] + then + default_realm="$RET" + else + default_realm="`hostname -d | tr a-z A-Z`" + fi + db_fget heimdal/realm seen + if [ "$RET" != "true" ]; then + db_set heimdal/realm "$default_realm" + fi + db_subst heimdal/realm default_realm "$default_realm" + db_input medium heimdal/realm || true + db_go + db_get heimdal/realm; REALM="$RET" + + # get password + db_input medium heimdal-kdc/password || true + db_go + db_get heimdal-kdc/password; PASSWORD="$RET" + db_set heimdal-kdc/password "" + + DST=/etc/heimdal-kdc/kdc.conf + cp -a /usr/share/doc/heimdal-kdc/examples/kdc.conf "$DST" +# /usr/lib/heimdal-kdc/setconfig --file "$DST" --section realms::REALM.ORG "=$REALM" + + DST=/etc/heimdal-kdc/kadmind.acl + cp -a /usr/share/doc/heimdal-kdc/examples/kadmind.acl "$DST" + + kstash --master-key-fd=0 <<EOF +$PASSWORD +EOF + + echo -e "\n\n" | kadmin -l init "$REALM" > /dev/null + + touch /etc/heimdal-kdc/.configured +fi + +case "$1" in +abort-upgrade | abort-deconfigure | abort-remove) + ;; +configure) + if [ -z "$2" ] + then + add_servers + elif dpkg --compare-versions "$2" le "0.7.2.dfsg.1-6" + then + enable_servers + fi + ;; +*) + printf "$0: incorrect arguments: $*\n" >&2 + exit 1 + ;; +esac + + +#DEBHELPER# |