firmware/general/overlay/etc/init.d/S50dropbear

60 lines
1.2 KiB
Bash
Executable File

#!/bin/sh
DAEMON="dropbear"
PIDFILE="/var/run/$DAEMON.pid"
DROPBEAR_ARGS="-R -B -k -p 22 -K 300"
start() {
# If /etc/dropbear is a symlink to /var/run/dropbear, and
# - the filesystem is RO (i.e. we can not rm the symlink),
# create the directory pointed to by the symlink.
# - the filesystem is RW (i.e. we can rm the symlink),
# replace the symlink with an actual directory
if [ -L /etc/dropbear -a "$(readlink /etc/dropbear)" = "/var/run/dropbear" ]; then
if rm -f /etc/dropbear >/dev/null 2>&1; then
mkdir -p /etc/dropbear
else
echo "No persistent location to store SSH host keys. New keys will be"
echo "generated at each boot. Are you sure this is what you want to do?"
mkdir -p "$(readlink /etc/dropbear)"
fi
fi
printf "Starting $DAEMON: "
umask 077
start-stop-daemon -S -q -p "$PIDFILE" -x "/usr/sbin/$DAEMON" -- $DROPBEAR_ARGS
if [ $? = 0 ]; then
echo "OK"
else
echo "FAIL"
fi
}
stop() {
printf "Stopping $DAEMON: "
start-stop-daemon -K -q -p "$PIDFILE"
if [ $? = 0 ]; then
echo "OK"
else
echo "FAIL"
fi
}
case "$1" in
start|stop)
"$1"
;;
restart|reload)
stop
sleep 1
start
;;
*)
echo "Usage: $0 {start|stop|restart|reload}"
exit 1
;;
esac