diff options
Diffstat (limited to 'contrib/suse/rc.sshd')
-rw-r--r-- | contrib/suse/rc.sshd | 80 |
1 files changed, 80 insertions, 0 deletions
diff --git a/contrib/suse/rc.sshd b/contrib/suse/rc.sshd new file mode 100644 index 000000000..f7d431ebb --- /dev/null +++ b/contrib/suse/rc.sshd | |||
@@ -0,0 +1,80 @@ | |||
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. | ||
16 | base=${0##*/} | ||
17 | link=${base#*[SK][0-9][0-9]} | ||
18 | |||
19 | # Force execution if not called by a runlevel directory. | ||
20 | test $link = $base && START_SSHD=yes | ||
21 | test "$START_SSHD" = yes || exit 0 | ||
22 | |||
23 | # The echo return value for success (defined in /etc/rc.config). | ||
24 | return=$rc_done | ||
25 | case "$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 | ;; | ||
76 | esac | ||
77 | |||
78 | # Inform the caller not only verbosely and set an exit status. | ||
79 | test "$return" = "$rc_done" || exit 1 | ||
80 | exit 0 | ||