home *** CD-ROM | disk | FTP | other *** search
/ tusportal.tus.k12.pa.us / tusportal.tus.k12.pa.us.tar / tusportal.tus.k12.pa.us / Wyse / latest-image.raw / 0.img / etc / init.d / rpasswdd < prev    next >
Text File  |  2010-05-08  |  4KB  |  140 lines

  1. #! /bin/sh
  2. # Copyright (c) 2004 Thorsten Kukuk
  3. #
  4. # /etc/init.d/rpasswdd
  5. #
  6. #   and symbolic its link
  7. #
  8. # /usr/sbin/rcrpasswdd
  9. #
  10. # LSB compliant service control script; see http://www.linuxbase.org/spec/
  11. #
  12. # System startup script for the remote password update daemon
  13. #
  14. ### BEGIN INIT INFO
  15. # Provides: rpasswdd
  16. # Required-Start: $remote_fs $syslog
  17. # Required-Stop:  $remote_fs $syslog
  18. # Default-Start:  3 5
  19. # Default-Stop:   0 1 2 6
  20. # Short-Description: Start daemon to allow secure remote password updates
  21. # Description:    Start rpasswdd to allow secure remote password updates
  22. ### END INIT INFO
  23.  
  24. # Check for missing binaries (stale symlinks should not happen)
  25. RPASSWDD_BIN=/usr/sbin/rpasswdd
  26. test -x $RPASSWDD_BIN || exit 5
  27.  
  28. # Check for existence of needed config file and read it
  29. RPASSWDD_CONFIG=/etc/sysconfig/rpasswdd
  30. test -r $RPASSWDD_CONFIG && . $RPASSWDD_CONFIG
  31.  
  32. # Shell functions sourced from /etc/rc.status:
  33. #      rc_check         check and set local and overall rc status
  34. #      rc_status        check and set local and overall rc status
  35. #      rc_status -v     ditto but be verbose in local rc status
  36. #      rc_status -v -r  ditto and clear the local rc status
  37. #      rc_failed        set local and overall rc status to failed
  38. #      rc_failed <num>  set local and overall rc status to <num><num>
  39. #      rc_reset         clear local rc status (overall remains)
  40. #      rc_exit          exit appropriate to overall rc status
  41. #      rc_active    checks whether a service is activated by symlinks
  42. . /etc/rc.status
  43.  
  44. # First reset status of this service
  45. rc_reset
  46.  
  47. # Return values acc. to LSB for all commands but status:
  48. # 0 - success
  49. # 1 - generic or unspecified error
  50. # 2 - invalid or excess argument(s)
  51. # 3 - unimplemented feature (e.g. "reload")
  52. # 4 - insufficient privilege
  53. # 5 - program is not installed
  54. # 6 - program is not configured
  55. # 7 - program is not running
  56. #
  57. # Note that starting an already running service, stopping
  58. # or restarting a not-running service as well as the restart
  59. # with force-reload (in case signalling is not supported) are
  60. # considered a success.
  61.  
  62. case "$1" in
  63.     start)
  64.     echo -n "Starting rpasswd daemon"
  65.     if [ ! -f /etc/rpasswdd.pem ] ; then
  66.       echo -n " . . . . . . . . . . No certificate found"
  67.           rc_status -s
  68.           # service is not configured
  69.           rc_failed 6
  70.           rc_exit
  71.         fi
  72.     startproc $RPASSWDD_BIN $RPASSWDD_OPTIONS
  73.     rc_status -v
  74.     ;;
  75.     stop)
  76.     echo -n "Shutting down rpasswd daemon"
  77.     killproc -TERM $RPASSWDD_BIN
  78.     rc_status -v
  79.     ;;
  80.     try-restart)
  81.     ## Stop the service and if this succeeds (i.e. the
  82.     ## service was running before), start it again.
  83.     $0 status >/dev/null &&  $0 restart
  84.     rc_status
  85.     ;;
  86.     restart)
  87.     ## Stop the service and regardless of whether it was
  88.     ## running or not, start it again.
  89.     $0 stop
  90.     $0 start
  91.     rc_status
  92.     ;;
  93.     force-reload)
  94.     ## Signal the daemon to reload its config. Most daemons
  95.     ## do this on signal 1 (SIGHUP).
  96.     ## If it does not support it, restart.
  97.  
  98.     #echo -n "Reload service RPASSWDD"
  99.     ## if it supports it:
  100.     #killproc -HUP $RPASSWDD_BIN
  101.     #touch /var/run/RPASSWDD.pid
  102.     #rc_status -v
  103.  
  104.     ## Otherwise:
  105.     $0 stop  &&  $0 start
  106.     rc_status
  107.     ;;
  108.     reload)
  109.     ## Like force-reload, but if daemon does not support
  110.     ## signalling, do nothing (!)
  111.  
  112.     # If it supports signalling:
  113.     echo -n "Reload service rpasswd daemon"
  114.     #killproc -HUP $RPASSWDD_BIN
  115.     #touch /var/run/RPASSWDD.pid
  116.     #rc_status -v
  117.  
  118.     ## Otherwise if it does not support reload:
  119.     rc_failed 3
  120.     rc_status -v
  121.     ;;
  122.     status)
  123.     echo -n "Checking for service rpasswd daemon: "
  124.     checkproc $RPASSWDD_BIN
  125.     rc_status -v
  126.     ;;
  127.     probe)
  128.     test /etc/rpasswdd.pem -nt /var/run/rpasswd.pid && echo restart
  129.     ;;
  130.     --help|--version)
  131.     echo "Usage: $0 {start|stop|status|try-restart|restart|force-reload|reload|probe}"
  132.         exit 0
  133.         ;;
  134.     *)
  135.     echo "Usage: $0 {start|stop|status|try-restart|restart|force-reload|reload|probe}"
  136.     exit 1
  137.     ;;
  138. esac
  139. rc_exit
  140.