1*ce3adf43SDag-Erling Smørgrav#!/sbin/sh 2*ce3adf43SDag-Erling Smørgrav 3*ce3adf43SDag-Erling Smørgrav# 4*ce3adf43SDag-Erling Smørgrav# sshd.rc: SSH daemon start-up and shutdown script 5*ce3adf43SDag-Erling Smørgrav# 6*ce3adf43SDag-Erling Smørgrav 7*ce3adf43SDag-Erling Smørgrav# Allowed exit values: 8*ce3adf43SDag-Erling Smørgrav# 0 = success; causes "OK" to show up in checklist. 9*ce3adf43SDag-Erling Smørgrav# 1 = failure; causes "FAIL" to show up in checklist. 10*ce3adf43SDag-Erling Smørgrav# 2 = skip; causes "N/A" to show up in the checklist. 11*ce3adf43SDag-Erling Smørgrav# Use this value if execution of this script is overridden 12*ce3adf43SDag-Erling Smørgrav# by the use of a control variable, or if this script is not 13*ce3adf43SDag-Erling Smørgrav# appropriate to execute for some other reason. 14*ce3adf43SDag-Erling Smørgrav# 3 = reboot; causes the system to be rebooted after execution. 15*ce3adf43SDag-Erling Smørgrav 16*ce3adf43SDag-Erling Smørgrav# Input and output: 17*ce3adf43SDag-Erling Smørgrav# stdin is redirected from /dev/null 18*ce3adf43SDag-Erling Smørgrav# 19*ce3adf43SDag-Erling Smørgrav# stdout and stderr are redirected to the /etc/rc.log file 20*ce3adf43SDag-Erling Smørgrav# during checklist mode, or to the console in raw mode. 21*ce3adf43SDag-Erling Smørgrav 22*ce3adf43SDag-Erling SmørgravPATH=/usr/sbin:/usr/bin:/sbin 23*ce3adf43SDag-Erling Smørgravexport PATH 24*ce3adf43SDag-Erling Smørgrav 25*ce3adf43SDag-Erling SmørgravWHAT='OpenSSH' 26*ce3adf43SDag-Erling SmørgravWHAT_PATH=/opt/openssh/sbin/sshd 27*ce3adf43SDag-Erling SmørgravWHAT_PID=/var/run/sshd.pid 28*ce3adf43SDag-Erling SmørgravWHAT_CONFIG=/etc/rc.config.d/sshd 29*ce3adf43SDag-Erling Smørgrav 30*ce3adf43SDag-Erling Smørgrav# NOTE: If your script executes in run state 0 or state 1, then /usr might 31*ce3adf43SDag-Erling Smørgrav# not be available. Do not attempt to access commands or files in 32*ce3adf43SDag-Erling Smørgrav# /usr unless your script executes in run state 2 or greater. Other 33*ce3adf43SDag-Erling Smørgrav# file systems typically not mounted until run state 2 include /var 34*ce3adf43SDag-Erling Smørgrav# and /opt. 35*ce3adf43SDag-Erling Smørgrav 36*ce3adf43SDag-Erling Smørgravrval=0 37*ce3adf43SDag-Erling Smørgrav 38*ce3adf43SDag-Erling Smørgrav# Check the exit value of a command run by this script. If non-zero, the 39*ce3adf43SDag-Erling Smørgrav# exit code is echoed to the log file and the return value of this script 40*ce3adf43SDag-Erling Smørgrav# is set to indicate failure. 41*ce3adf43SDag-Erling Smørgrav 42*ce3adf43SDag-Erling Smørgravset_return() { 43*ce3adf43SDag-Erling Smørgrav x=$? 44*ce3adf43SDag-Erling Smørgrav if [ $x -ne 0 ]; then 45*ce3adf43SDag-Erling Smørgrav echo "EXIT CODE: $x" 46*ce3adf43SDag-Erling Smørgrav rval=1 # script FAILed 47*ce3adf43SDag-Erling Smørgrav fi 48*ce3adf43SDag-Erling Smørgrav} 49*ce3adf43SDag-Erling Smørgrav 50*ce3adf43SDag-Erling Smørgravcase $1 in 51*ce3adf43SDag-Erling Smørgrav'start_msg') 52*ce3adf43SDag-Erling Smørgrav echo "Starting $WHAT" 53*ce3adf43SDag-Erling Smørgrav ;; 54*ce3adf43SDag-Erling Smørgrav 55*ce3adf43SDag-Erling Smørgrav'stop_msg') 56*ce3adf43SDag-Erling Smørgrav echo "Stopping $WHAT" 57*ce3adf43SDag-Erling Smørgrav ;; 58*ce3adf43SDag-Erling Smørgrav 59*ce3adf43SDag-Erling Smørgrav'start') 60*ce3adf43SDag-Erling Smørgrav if [ -f $WHAT_CONFIG ] ; then 61*ce3adf43SDag-Erling Smørgrav . $WHAT_CONFIG 62*ce3adf43SDag-Erling Smørgrav else 63*ce3adf43SDag-Erling Smørgrav echo "ERROR: $WHAT_CONFIG defaults file MISSING" 64*ce3adf43SDag-Erling Smørgrav fi 65*ce3adf43SDag-Erling Smørgrav 66*ce3adf43SDag-Erling Smørgrav if [ "$SSHD_START" -eq 1 -a -x "$WHAT_PATH" ]; then 67*ce3adf43SDag-Erling Smørgrav $WHAT_PATH $SSHD_ARGS && echo "$WHAT started" 68*ce3adf43SDag-Erling Smørgrav set_return 69*ce3adf43SDag-Erling Smørgrav else 70*ce3adf43SDag-Erling Smørgrav rval=2 71*ce3adf43SDag-Erling Smørgrav fi 72*ce3adf43SDag-Erling Smørgrav ;; 73*ce3adf43SDag-Erling Smørgrav 74*ce3adf43SDag-Erling Smørgrav'stop') 75*ce3adf43SDag-Erling Smørgrav if kill `cat $WHAT_PID`; then 76*ce3adf43SDag-Erling Smørgrav echo "$WHAT stopped" 77*ce3adf43SDag-Erling Smørgrav else 78*ce3adf43SDag-Erling Smørgrav rval=1 79*ce3adf43SDag-Erling Smørgrav echo "Unable to stop $WHAT" 80*ce3adf43SDag-Erling Smørgrav fi 81*ce3adf43SDag-Erling Smørgrav set_return 82*ce3adf43SDag-Erling Smørgrav ;; 83*ce3adf43SDag-Erling Smørgrav 84*ce3adf43SDag-Erling Smørgrav*) 85*ce3adf43SDag-Erling Smørgrav echo "usage: $0 {start|stop|start_msg|stop_msg}" 86*ce3adf43SDag-Erling Smørgrav rval=1 87*ce3adf43SDag-Erling Smørgrav ;; 88*ce3adf43SDag-Erling Smørgravesac 89*ce3adf43SDag-Erling Smørgrav 90*ce3adf43SDag-Erling Smørgravexit $rval 91