963210
#!/bin/bash
963210
#
963210
# kadmind      Start and stop the Kerberos 5 administrative server.
963210
#
963210
# chkconfig:   - 35 65
963210
# description: Kerberos 5 is a trusted third-party authentication system.  \
963210
#	       This script starts and stops the Kerberos 5 administrative \
963210
#              server, which should only be run on the master server for a \
963210
#              realm.
963210
# processname: kadmind
963210
# config: /etc/sysconfig/kadmin
963210
# pidfile: /var/run/kadmind.pid
963210
#
963210
963210
### BEGIN INIT INFO
963210
# Provides: kadmin
963210
# Required-Start: $local_fs $network
963210
# Required-Stop: $local_fs $network
963210
# Should-Start: portreserve
963210
# Default-Start:
963210
# Default-Stop: 0 1 2 3 4 5 6
963210
# Short-Description: start and stop the Kerberos 5 admin server
963210
# Description: The kadmind service allows administrators to remotely manage \
963210
#              the Kerberos 5 realm database.  It should only be run on a \
963210
#              master KDC.
963210
### END INIT INFO
963210
963210
# Get config.
963210
. /etc/sysconfig/network
963210
963210
# Get config.
963210
[ -r /etc/sysconfig/kadmin ] && . /etc/sysconfig/kadmin
963210
963210
# Source function library.
963210
. /etc/init.d/functions
963210
prog="Kerberos 5 Admin Server"
963210
kadmind=/usr/sbin/kadmind
963210
pidfile=/var/run/kadmind.pid
963210
963210
RETVAL=0
963210
963210
# Shell functions to cut down on useless shell instances.
963210
start() {
963210
  	if [ -f /var/kerberos/krb5kdc/kpropd.acl ] ; then
963210
	    echo $"Error. This appears to be a slave server, found kpropd.acl"
963210
	    exit 6
963210
	else
963210
	    [ -x $kadmind ] || exit 5
963210
	fi
963210
	echo -n $"Starting $prog: "
963210
	# tell portreserve to release the kerberos-adm port
963210
	[ -x /sbin/portrelease ] && /sbin/portrelease kerberos-adm &>/dev/null || :
963210
	daemon ${kadmind} ${KRB5REALM:+-r ${KRB5REALM}} -P $pidfile $KADMIND_ARGS
963210
	RETVAL=$?
963210
	echo
963210
	if test $RETVAL -ne 0 ; then
963210
	    if status -l kadmin ${kadmind} > /dev/null ; then
963210
		RETVAL=0
963210
	    fi
963210
	fi
963210
	[ $RETVAL = 0 ] && touch /var/lock/subsys/kadmin
963210
}
963210
stop() {
963210
	echo -n $"Stopping $prog: "
963210
	killproc ${kadmind}
963210
	RETVAL=$?
963210
	echo
963210
	[ $RETVAL = 0 ] && rm -f /var/lock/subsys/kadmin
963210
}
963210
reload() {
963210
	echo -n $"Reopening $prog log file: "
963210
	killproc ${kadmind} -HUP
963210
	RETVAL=$?
963210
	echo
963210
}
963210
963210
# See how we were called.
963210
case "$1" in
963210
  start)
963210
	start
963210
	;;
963210
  stop)
963210
	stop
963210
	;;
963210
  restart)
963210
	stop
963210
	start
963210
	;;
963210
  status)
963210
	status -l kadmin ${kadmind}
963210
	RETVAL=$?
963210
	;;
963210
  reload)
963210
	reload
963210
	;;
963210
  condrestart)
963210
	if [ -f /var/lock/subsys/kadmin ] ; then
963210
		stop
963210
		start
963210
	fi
963210
	;;
963210
  *)
963210
	echo $"Usage: $0 {start|stop|status|condrestart|reload|restart}"
963210
	RETVAL=2
963210
	;;
963210
esac
963210
963210
exit $RETVAL