#!/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 # ### BEGIN INIT INFO # Provides: kadmind # Required-Start: $network # Required-Stop: $network # Default-Start: 3 4 5 # Short-Description: Kerberos 5 administrative server # Description: This daemon runs on the master server and is used to \ # administer principals accounts. ### END INIT INFO # 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 echo "Error. Principal database does not exist." exit 0 fi if [ -f /etc/kerberos/krb5kdc/kpropd.acl ] ; then echo "Error. This appears to be a slave server, found kpropd.acl" exit 0 else if [ ! -f /etc/kerberos/krb5kdc/kadm5.keytab ] ; then echo -n $"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 echo -n $"Starting $prog: " daemon ${kadmind} RETVAL=$? echo [ $RETVAL = 0 ] && touch /var/lock/subsys/kadmin } stop() { echo -n $"Stopping $prog: " killproc ${kadmind} RETVAL=$? echo [ $RETVAL = 0 ] && rm -f /var/lock/subsys/kadmin } reload() { echo -n $"Reopening $prog log file: " 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 ;; *) echo $"Usage: $0 {start|stop|status|condrestart|reload|restart}" RETVAL=1 ;; esac exit $RETVAL