Splux Linux

source-based Linux using SPS

SPS · log · files · refs · tags · releases · people · languages · GitHub · file

lib/setup/sv/sysvinit/dropbear


Shell

1022 bytes at 2909919 · GitHub

#!/bin/sh
### BEGIN INIT INFO
# Provides:          dropbear
# Required-Start:    $remote_fs
# Required-Stop:     $remote_fs
# Default-Start:     2 3 4 5
# Default-Stop:      0 1 6
# Short-Description: Dropbear SSH server
### END INIT INFO

if [ -f /etc/rc.d/init.d/functions ]; then
	. /etc/rc.d/init.d/functions
elif [ -f /etc/init.d/functions ]; then
	. /etc/init.d/functions
fi

NAME=dropbear
DAEMON="/usr/sbin/dropbear"
DAEMON_ARGS="-F -E"
PIDFILE="/run/dropbear.pid"
USER=""

start() {
	if command -v dropbearkey >/dev/null 2>&1; then
	  mkdir -p /etc/dropbear
	  [ -f /etc/dropbear/dropbear_rsa_host_key ] || dropbearkey -t rsa -f /etc/dropbear/dropbear_rsa_host_key >/dev/null
	fi
	start_daemon -p "$PIDFILE" ${USER:+-c "$USER"} "$DAEMON" $DAEMON_ARGS
}

stop() {
	killproc -p "$PIDFILE" "$DAEMON"
}

status() {
	pidofproc -p "$PIDFILE" "$DAEMON"
}

case $1 in
	start) start ;;
	stop) stop ;;
	restart) stop; start ;;
	status) status ;;
	*) printf '%s\n' "Usage: $0 {start|stop|restart|status}" >&2; exit 1 ;;
esac