]> git.pld-linux.org Git - packages/openssh.git/blob - opensshd.init
add missing backslash
[packages/openssh.git] / opensshd.init
1 #!/bin/sh
2 #
3 # sshd          sshd (secure shell daemon)
4 #
5 # chkconfig:    345 22 88
6 #
7 # description:  sshd (secure shell daemon) is a server part of the ssh suite. \
8 #               Ssh can be used for remote login, remote file copying, TCP port \
9 #               forwarding etc. Ssh offers strong encryption and authentication.
10
11 # Source function library
12 . /etc/rc.d/init.d/functions
13
14 upstart_controlled --except init configtest
15
16 # Get network config
17 . /etc/sysconfig/network
18
19 SSHD_OOM_ADJUST=-1000
20 PIDFILE=/var/run/sshd.pid
21
22 # Get service config
23 [ -f /etc/sysconfig/sshd ] && . /etc/sysconfig/sshd
24
25 # Check that networking is up.
26 if is_yes "${NETWORKING}"; then
27         if [ ! -f /var/lock/subsys/network -a "$1" != stop -a "$1" != status -a "$1" != init ]; then
28                 msg_network_down "OpenSSH"
29                 exit 1
30         fi
31 else
32         exit 0
33 fi
34
35 adjust_oom() {
36         if [ -e $PIDFILE ]; then
37                 for pid in $(cat $PIDFILE); do
38                         echo "$SSHD_OOM_ADJUST" 2>/dev/null > /proc/$pid/oom_score_adj
39                 done
40         fi
41 }
42
43 checkconfig() {
44         ssh_gen_keys
45         /usr/sbin/sshd -t || exit 1
46 }
47
48 ssh_gen_keys() {
49         @@LIBEXECDIR@@/sshd-keygen
50 }
51
52 start() {
53         # Check if the service is already running?
54         if [ -f /var/lock/subsys/sshd ]; then
55                 msg_already_running "OpenSSH"
56                 return
57         fi
58
59         checkconfig
60
61         if [ ! -s /etc/ssh/ssh_host_key ]; then
62                 msg_not_running "OpenSSH"
63                 nls "No SSH host key found! You must run \"%s init\" first." "$0"
64                 exit 1
65         fi
66
67         if is_yes "$IPV4_NETWORKING" && is_no "$IPV6_NETWORKING"; then
68                 OPTIONS="$OPTIONS -4"
69         fi
70         if is_yes "$IPV6_NETWORKING" && is_no "$IPV4_NETWORKING"; then
71                 OPTIONS="$OPTIONS -6"
72         fi
73
74         msg_starting "OpenSSH"
75         daemon --pidfile $PIDFILE /usr/sbin/sshd $OPTIONS
76         RETVAL=$?
77         adjust_oom
78         [ $RETVAL -eq 0 ] && touch /var/lock/subsys/sshd
79 }
80
81 stop() {
82         if [ ! -f /var/lock/subsys/sshd ]; then
83                 msg_not_running "OpenSSH"
84                 return
85         fi
86
87         msg_stopping "OpenSSH"
88         # we use start-stop-daemon to stop sshd, as it is unacceptable for such
89         # critical service as sshd to kill it by procname, but unfortunately
90         # rc-scripts does not provide way to kill *only* by pidfile
91         start-stop-daemon --stop --quiet --pidfile $PIDFILE && ok || fail
92         rm -f /var/lock/subsys/sshd >/dev/null 2>&1
93 }
94
95 reload() {
96         if [ ! -f /var/lock/subsys/sshd ]; then
97                 msg_not_running "OpenSSH"
98                 RETVAL=7
99                 return
100         fi
101
102         checkconfig
103         msg_reloading "OpenSSH"
104         killproc sshd -HUP
105         RETVAL=$?
106 }
107
108 condrestart() {
109         if [ ! -f /var/lock/subsys/sshd ]; then
110                 msg_not_running "OpenSSH"
111                 RETVAL=$1
112                 return
113         fi
114
115         checkconfig
116         stop
117         start
118 }
119
120 RETVAL=0
121 # See how we were called.
122 case "$1" in
123   start)
124         start
125         ;;
126   stop)
127         stop
128         ;;
129   restart)
130         checkconfig
131         stop
132         start
133         ;;
134   try-restart)
135         condrestart 0
136         ;;
137   reload|force-reload)
138         reload
139         ;;
140   configtest)
141         checkconfig
142         ;;
143   init)
144         nls "Now the SSH host key will be generated. Please note, that if you"
145         nls "will use password for the key, you will need to type it on each"
146         nls "reboot."
147         ssh_gen_keys
148         ;;
149   status)
150         status --pidfile $PIDFILE sshd
151         exit $?
152         ;;
153   *)
154         msg_usage "$0 {start|stop|restart|try-restart|reload|force-reload|configtest|init|status}"
155         exit 3
156 esac
157
158 exit $RETVAL
This page took 0.032039 seconds and 3 git commands to generate.