#!/bin/bash # # kadmind Start and stop the Kerberos 5 administrative server. # # chkconfig: 345 35 65 # description: Kerberos 5 is a trusted third-party authentication system. \ # This script starts and stops the Kerberos 5 administrative \ # server, which should only be run on the master server for a \ # realm. # processname: kadmind # # Get config. . /etc/sysconfig/network # Check that networking is up. [ ${NETWORKING} = "no" ] && exit 0 # Source function library. . /etc/init.d/functions prog="Kerberos 5 Admin Server" kadmind=/usr/sbin/kadmind RETVAL=0 # Sheel functions to cut down on useless shell instances. start() { if [ ! -f /etc/kerberos/krb5kdc/principal ] ; then gprintf "Error. Principal database does not exist.\n" exit 0 fi if [ -f /etc/kerberos/krb5kdc/kpropd.acl ] ; then gprintf "Error. This appears to be a slave server, found kpropd.acl\n" exit 0 else if [ ! -f /etc/kerberos/krb5kdc/kadm5.keytab ] ; then gprintf "Extracting kadm5 Service Keys: " /usr/sbin/kadmin.local -q "ktadd -k /etc/kerberos/krb5kdc/kadm5.keytab kadmin/admin kadmin/changepw" && success || fail echo fi fi gprintf "Starting %s: " "$prog" daemon ${kadmind} RETVAL=$? echo [ $RETVAL = 0 ] && touch /var/lock/subsys/kadmin } stop() { gprintf "Stopping %s: " "$prog" killproc ${kadmind} RETVAL=$? echo [ $RETVAL = 0 ] && rm -f /var/lock/subsys/kadmin } reload() { gprintf "Reopening %s log file: " "$prog" killproc ${kadmind} -HUP RETVAL=$? echo } # See how we were called. case "$1" in start) start ;; stop) stop ;; restart) stop start ;; status) status ${kadmind} RETVAL=$? ;; reload) reload ;; condrestart) if [ -f /var/lock/subsys/kadmin ] ; then stop start fi ;; *) gprintf "Usage: %s {start|stop|status|condrestart|reload|restart}\n" "$0" RETVAL=1 ;; esac exit $RETVAL