| #!/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 |
| echo -n $"Starting $prog: " |
| daemon /usr/sbin/nscd |
| 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 |