
1: #!/bin/bash 2: # 3: # nscd: Starts the Name Switch Cache Daemon 4: # 5: # chkconfig: - 30 74 6: # description: This is a daemon which handles passwd and group lookups \ 7: # for running programs and cache the results for the next \ 8: # query. You should start this daemon if you use \ 9: # slow naming services like NIS, NIS+, LDAP, or hesiod. 10: # processname: /usr/sbin/nscd 11: # config: /etc/nscd.conf 12: # 13: ### BEGIN INIT INFO 14: # Provides: nscd 15: # Required-Start: $syslog 16: # Default-Stop: 0 1 6 17: # Short-Description: Starts the Name Switch Cache Daemon 18: # Description: This is a daemon which handles passwd and group lookups \ 19: # for running programs and cache the results for the next \ 20: # query. You should start this daemon if you use \ 21: # slow naming services like NIS, NIS+, LDAP, or hesiod. 22: ### END INIT INFO 23: 24: # Sanity checks. 25: [ -f /etc/nscd.conf ] || exit 0 26: [ -x /usr/sbin/nscd ] || exit 0 27: 28: # Source function library. 29: . /etc/init.d/functions 30: 31: # nscd does not run on any kernel lower than 2.2.0 because of threading 32: # problems, so we require that in first place. 33: case $(uname -r) in 34: 2.[2-9].*) 35: # this is okay 36: ;; 37: [3-9]*) 38: # these are of course also okay 39: ;; 40: *) 41: #this is not 42: exit 1 43: ;; 44: esac 45: 46: RETVAL=0 47: prog=nscd 48: 49: start () { 50: [ -d /var/run/nscd ] || mkdir /var/run/nscd 51: [ -d /var/db/nscd ] || mkdir /var/db/nscd 52: echo -n $"Starting $prog: " 53: daemon /usr/sbin/nscd 54: RETVAL=$? 55: echo 56: [ $RETVAL -eq 0 ] && touch /var/lock/subsys/nscd 57: return $RETVAL 58: } 59: 60: stop () { 61: echo -n $"Stopping $prog: " 62: /usr/sbin/nscd -K 63: RETVAL=$? 64: if [ $RETVAL -eq 0 ]; then 65: rm -f /var/lock/subsys/nscd 66: # nscd won't be able to remove these if it is running as 67: # a non-privileged user 68: rm -f /var/run/nscd/nscd.pid 69: rm -f /var/run/nscd/socket 70: success $"$prog shutdown" 71: else 72: failure $"$prog shutdown" 73: fi 74: echo 75: return $RETVAL 76: } 77: 78: restart() { 79: stop 80: start 81: } 82: 83: # See how we were called. 84: case "$1" in 85: start) 86: start 87: RETVAL=$? 88: ;; 89: stop) 90: stop 91: RETVAL=$? 92: ;; 93: status) 94: status nscd 95: RETVAL=$? 96: ;; 97: restart) 98: restart 99: RETVAL=$? 100: ;; 101: try-restart | condrestart) 102: [ -e /var/lock/subsys/nscd ] && restart 103: RETVAL=$? 104: ;; 105: force-reload | reload) 106: echo -n $"Reloading $prog: " 107: killproc /usr/sbin/nscd -HUP 108: RETVAL=$? 109: echo 110: ;; 111: *) 112: echo $"Usage: $0 {start|stop|status|restart|reload|condrestart}" 113: RETVAL=1 114: ;; 115: esac 116: exit $RETVAL