mirror of
git://sourceware.org/git/glibc.git
synced 2024-11-21 01:12:26 +08:00
64d64de628
* nscd/nscd.c: Adjust some error codes to fit in better with lsb3. * nscd/connections.c: Likewise.
124 lines
2.5 KiB
Bash
124 lines
2.5 KiB
Bash
#!/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
|
|
#
|
|
### BEGIN INIT INFO
|
|
# Provides: nscd
|
|
# Required-Start: $syslog
|
|
# Default-Stop: 0 1 6
|
|
# Short-Description: Starts the Name Switch Cache Daemon
|
|
# 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.
|
|
### END INIT INFO
|
|
|
|
# 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 1
|
|
;;
|
|
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=$?
|
|
;;
|
|
try-restart | condrestart)
|
|
[ -e /var/lock/subsys/nscd ] && restart
|
|
RETVAL=$?
|
|
;;
|
|
force-reload | reload)
|
|
echo -n $"Reloading $prog: "
|
|
killproc /usr/sbin/nscd -HUP
|
|
RETVAL=$?
|
|
echo
|
|
;;
|
|
*)
|
|
echo $"Usage: $0 {start|stop|status|restart|reload|condrestart}"
|
|
RETVAL=1
|
|
;;
|
|
esac
|
|
exit $RETVAL
|