1#! /bin/sh 2# Copyright (c) 1995-1998 SuSE GmbH Nuernberg, Germany. 3# 4# Author: Chris Saia <csaia@wtower.com> 5# 6# /sbin/init.d/sshd 7# 8# and symbolic its link 9# 10# /sbin/rcsshd 11# 12 13. /etc/rc.config 14 15# Determine the base and follow a runlevel link name. 16base=${0##*/} 17link=${base#*[SK][0-9][0-9]} 18 19# Force execution if not called by a runlevel directory. 20test $link = $base && START_SSHD=yes 21test "$START_SSHD" = yes || exit 0 22 23# The echo return value for success (defined in /etc/rc.config). 24return=$rc_done 25case "$1" in 26 start) 27 echo -n "Starting service sshd" 28 ## Start daemon with startproc(8). If this fails 29 ## the echo return value is set appropriate. 30 31 startproc /usr/sbin/sshd || return=$rc_failed 32 33 echo -e "$return" 34 ;; 35 stop) 36 echo -n "Stopping service sshd" 37 ## Stop daemon with killproc(8) and if this fails 38 ## set echo the echo return value. 39 40 killproc -TERM /usr/sbin/sshd || return=$rc_failed 41 42 echo -e "$return" 43 ;; 44 restart) 45 ## If first returns OK call the second, if first or 46 ## second command fails, set echo return value. 47 $0 stop && $0 start || return=$rc_failed 48 ;; 49 reload) 50 ## Choose ONE of the following two cases: 51 52 ## First possibility: A few services accepts a signal 53 ## to reread the (changed) configuration. 54 55 echo -n "Reload service sshd" 56 killproc -HUP /usr/sbin/sshd || return=$rc_failed 57 echo -e "$return" 58 ;; 59 status) 60 echo -n "Checking for service sshd" 61 ## Check status with checkproc(8), if process is running 62 ## checkproc will return with exit status 0. 63 64 checkproc /usr/sbin/sshd && echo OK || echo No process 65 ;; 66 probe) 67 ## Optional: Probe for the necessity of a reload, 68 ## give out the argument which is required for a reload. 69 70 test /etc/ssh/sshd_config -nt /var/run/sshd.pid && echo reload 71 ;; 72 *) 73 echo "Usage: $0 {start|stop|status|restart|reload[|probe]}" 74 exit 1 75 ;; 76esac 77 78# Inform the caller not only verbosely and set an exit status. 79test "$return" = "$rc_done" || exit 1 80exit 0 81