glibc/nscd/nscd.init

112 lines
2.1 KiB
Plaintext
Raw Normal View History

#!/bin/bash
#
# nscd: Starts the Name Switch Cache Daemon
#
# chkconfig: - 30 74
# description: This is a daemon which handles passwd and group lookups \
# for running programs and cache the results for the next \
# query. You should start this daemon if you use \
# slow naming services like NIS, NIS+, LDAP, or hesiod.
# processname: /usr/sbin/nscd
# config: /etc/nscd.conf
#
# Sanity checks.
[ -f /etc/nscd.conf ] || exit 0
[ -x /usr/sbin/nscd ] || exit 0
# Source function library.
. /etc/init.d/functions
# nscd does not run on any kernel lower than 2.2.0 because of threading
# problems, so we require that in first place.
case $(uname -r) in
2.[2-9].*)
# this is okay
;;
[3-9]*)
# these are of course also okay
;;
*)
#this is not
exit 0
;;
esac
RETVAL=0
prog=nscd
start () {
[ -d /var/run/nscd ] || mkdir /var/run/nscd
[ -d /var/db/nscd ] || mkdir /var/db/nscd
secure=""
# for table in passwd group hosts
# do
# if egrep -q '^'$table':.*nisplus' /etc/nsswitch.conf; then
# /usr/lib/nscd_nischeck $table || secure="$secure -S $table,yes"
# fi
# done
echo -n $"Starting $prog: "
daemon /usr/sbin/nscd $secure
RETVAL=$?
echo
[ $RETVAL -eq 0 ] && touch /var/lock/subsys/nscd
return $RETVAL
}
stop () {
echo -n $"Stopping $prog: "
/usr/sbin/nscd -K
RETVAL=$?
if [ $RETVAL -eq 0 ]; then
rm -f /var/lock/subsys/nscd
# nscd won't be able to remove these if it is running as
# a non-privileged user
rm -f /var/run/nscd/nscd.pid
rm -f /var/run/nscd/socket
success $"$prog shutdown"
else
failure $"$prog shutdown"
fi
echo
return $RETVAL
}
restart() {
stop
start
}
# See how we were called.
case "$1" in
start)
start
RETVAL=$?
;;
stop)
stop
RETVAL=$?
;;
status)
status nscd
RETVAL=$?
;;
restart)
restart
RETVAL=$?
;;
condrestart)
[ -e /var/lock/subsys/nscd ] && restart
RETVAL=$?
;;
reload)
killproc /usr/sbin/nscd -HUP
RETVAL=$?
;;
*)
echo $"Usage: $0 {start|stop|status|restart|reload|condrestart}"
RETVAL=1
;;
esac
exit $RETVAL