diff options
Diffstat (limited to 'debian/openssh-server.init')
-rw-r--r-- | debian/openssh-server.init | 63 |
1 files changed, 48 insertions, 15 deletions
diff --git a/debian/openssh-server.init b/debian/openssh-server.init index f93150390..6fd04bb74 100644 --- a/debian/openssh-server.init +++ b/debian/openssh-server.init | |||
@@ -1,4 +1,13 @@ | |||
1 | #! /bin/sh | 1 | #! /bin/sh |
2 | |||
3 | ### BEGIN INIT INFO | ||
4 | # Provides: sshd | ||
5 | # Required-Start: $network $local_fs $remote_fs | ||
6 | # Required-Stop: | ||
7 | # Default-Start: 2 3 4 5 | ||
8 | # Default-Stop: 0 1 6 | ||
9 | ### END INIT INFO | ||
10 | |||
2 | set -e | 11 | set -e |
3 | 12 | ||
4 | # /etc/init.d/ssh: start and stop the OpenBSD "secure shell(tm)" daemon | 13 | # /etc/init.d/ssh: start and stop the OpenBSD "secure shell(tm)" daemon |
@@ -10,10 +19,22 @@ if test -f /etc/default/ssh; then | |||
10 | . /etc/default/ssh | 19 | . /etc/default/ssh |
11 | fi | 20 | fi |
12 | 21 | ||
22 | . /lib/lsb/init-functions | ||
23 | |||
24 | # Are we running from init? | ||
25 | run_by_init() { | ||
26 | ([ "$previous" ] && [ "$runlevel" ]) || [ "$runlevel" = S ] | ||
27 | } | ||
28 | |||
13 | check_for_no_start() { | 29 | check_for_no_start() { |
14 | # forget it if we're trying to start, and /etc/ssh/sshd_not_to_be_run exists | 30 | # forget it if we're trying to start, and /etc/ssh/sshd_not_to_be_run exists |
15 | if [ -e /etc/ssh/sshd_not_to_be_run ]; then | 31 | if [ -e /etc/ssh/sshd_not_to_be_run ]; then |
16 | echo "OpenBSD Secure Shell server not in use (/etc/ssh/sshd_not_to_be_run)" | 32 | if [ "$1" = log_end_msg ]; then |
33 | log_end_msg 0 | ||
34 | fi | ||
35 | if ! run_by_init; then | ||
36 | log_action_msg "OpenBSD Secure Shell server not in use (/etc/ssh/sshd_not_to_be_run)" | ||
37 | fi | ||
17 | exit 0 | 38 | exit 0 |
18 | fi | 39 | fi |
19 | } | 40 | } |
@@ -37,37 +58,49 @@ export PATH="${PATH:+$PATH:}/usr/sbin:/sbin" | |||
37 | case "$1" in | 58 | case "$1" in |
38 | start) | 59 | start) |
39 | check_for_no_start | 60 | check_for_no_start |
61 | log_daemon_msg "Starting OpenBSD Secure Shell server" "sshd" | ||
40 | check_privsep_dir | 62 | check_privsep_dir |
41 | echo -n "Starting OpenBSD Secure Shell server: sshd" | 63 | if start-stop-daemon --start --quiet --oknodo --pidfile /var/run/sshd.pid --exec /usr/sbin/sshd -- $SSHD_OPTS; then |
42 | start-stop-daemon --start --quiet --oknodo --pidfile /var/run/sshd.pid --exec /usr/sbin/sshd -- $SSHD_OPTS | 64 | log_end_msg 0 |
43 | echo "." | 65 | else |
66 | log_end_msg 1 | ||
67 | fi | ||
44 | ;; | 68 | ;; |
45 | stop) | 69 | stop) |
46 | echo -n "Stopping OpenBSD Secure Shell server: sshd" | 70 | log_daemon_msg "Stopping OpenBSD Secure Shell server" "sshd" |
47 | start-stop-daemon --stop --quiet --oknodo --pidfile /var/run/sshd.pid | 71 | if start-stop-daemon --stop --quiet --oknodo --pidfile /var/run/sshd.pid; then |
48 | echo "." | 72 | log_end_msg 0 |
73 | else | ||
74 | log_end_msg 1 | ||
75 | fi | ||
49 | ;; | 76 | ;; |
50 | 77 | ||
51 | reload|force-reload) | 78 | reload|force-reload) |
52 | check_for_no_start | 79 | check_for_no_start |
53 | check_config | 80 | check_config |
54 | echo -n "Reloading OpenBSD Secure Shell server's configuration" | 81 | log_daemon_msg "Reloading OpenBSD Secure Shell server's configuration" "sshd" |
55 | start-stop-daemon --stop --signal 1 --quiet --oknodo --pidfile /var/run/sshd.pid --exec /usr/sbin/sshd | 82 | if start-stop-daemon --stop --signal 1 --quiet --oknodo --pidfile /var/run/sshd.pid --exec /usr/sbin/sshd; then |
56 | echo "." | 83 | log_end_msg 0 |
84 | else | ||
85 | log_end_msg 1 | ||
86 | fi | ||
57 | ;; | 87 | ;; |
58 | 88 | ||
59 | restart) | 89 | restart) |
60 | check_privsep_dir | 90 | check_privsep_dir |
61 | check_config | 91 | check_config |
62 | echo -n "Restarting OpenBSD Secure Shell server: sshd" | 92 | log_daemon_msg "Restarting OpenBSD Secure Shell server" "sshd" |
63 | start-stop-daemon --stop --quiet --oknodo --retry 30 --pidfile /var/run/sshd.pid | 93 | start-stop-daemon --stop --quiet --oknodo --retry 30 --pidfile /var/run/sshd.pid |
64 | check_for_no_start | 94 | check_for_no_start log_end_msg |
65 | start-stop-daemon --start --quiet --oknodo --pidfile /var/run/sshd.pid --exec /usr/sbin/sshd -- $SSHD_OPTS | 95 | if start-stop-daemon --start --quiet --oknodo --pidfile /var/run/sshd.pid --exec /usr/sbin/sshd -- $SSHD_OPTS; then |
66 | echo "." | 96 | log_end_msg 0 |
97 | else | ||
98 | log_end_msg 1 | ||
99 | fi | ||
67 | ;; | 100 | ;; |
68 | 101 | ||
69 | *) | 102 | *) |
70 | echo "Usage: /etc/init.d/ssh {start|stop|reload|force-reload|restart}" | 103 | log_action_msg "Usage: /etc/init.d/ssh {start|stop|reload|force-reload|restart}" |
71 | exit 1 | 104 | exit 1 |
72 | esac | 105 | esac |
73 | 106 | ||