X-Git-Url: https://gerrit.o-ran-sc.org/r/gitweb?a=blobdiff_plain;f=meta-starlingx%2Fmeta-stx-integ%2Frecipes-connectivity%2Fopenssh%2Ffiles%2Fstx%2Fsshd.init;fp=meta-starlingx%2Fmeta-stx-integ%2Frecipes-connectivity%2Fopenssh%2Ffiles%2Fstx%2Fsshd.init;h=5430632a37cf3af14f302c5b760eb80c8e7a6189;hb=e0634c6eaf2fe2641a0fb90e84a5defb880b1335;hp=0000000000000000000000000000000000000000;hpb=210d0f78485e760dffcdd3f630f59cec797f3f11;p=pti%2Frtp.git diff --git a/meta-starlingx/meta-stx-integ/recipes-connectivity/openssh/files/stx/sshd.init b/meta-starlingx/meta-stx-integ/recipes-connectivity/openssh/files/stx/sshd.init new file mode 100755 index 0000000..5430632 --- /dev/null +++ b/meta-starlingx/meta-stx-integ/recipes-connectivity/openssh/files/stx/sshd.init @@ -0,0 +1,192 @@ +#!/bin/bash +# +# sshd Start up the OpenSSH server daemon +# +# chkconfig: 2345 55 25 +# description: SSH is a protocol for secure remote shell access. \ +# This service starts up the OpenSSH server daemon. +# +# processname: sshd +# config: /etc/ssh/ssh_host_key +# config: /etc/ssh/ssh_host_key.pub +# config: /etc/ssh/ssh_random_seed +# config: /etc/ssh/sshd_config +# pidfile: /var/run/sshd.pid + +### BEGIN INIT INFO +# Provides: sshd +# Required-Start: $local_fs $network $syslog +# Required-Stop: $local_fs $syslog +# Should-Start: $syslog +# Should-Stop: $network $syslog +# Default-Start: 2 3 4 5 +# Default-Stop: 0 1 6 +# Short-Description: Start up the OpenSSH server daemon +# Description: SSH is a protocol for secure remote shell access. +# This service starts up the OpenSSH server daemon. +### END INIT INFO + +# source function library +. /etc/init.d/functions + +# pull in sysconfig settings +[ -f /etc/sysconfig/sshd ] && . /etc/sysconfig/sshd + +RETVAL=0 +prog="sshd" +lockfile=/var/lock/subsys/$prog + +# Some functions to make the below more readable +SSHD=/usr/sbin/sshd +XPID_FILE=/var/run/sshd.pid +PID_FILE=/var/run/sshd-s.pid + +runlevel=$(set -- $(runlevel); eval "echo \$$#" ) + +do_restart_sanity_check() +{ + $SSHD -t + RETVAL=$? + if [ $RETVAL -ne 0 ]; then + failure $"Configuration file or keys are invalid" + echo + fi +} + +start() +{ + [ -x $SSHD ] || exit 5 + [ -f /etc/ssh/sshd_config ] || exit 6 + # Create keys if necessary + /usr/sbin/sshd-keygen + + # In rare instances, sshd may be started but a pid + # file is not generated. This is seen usually during + # system reboot scenarios. A subsequent attempt to start + # sshd here will trigger a port bind error. As a sanity + # check attempt a kill call (mostly redundant) to any + # previously running sshd instance + /bin/kill `/bin/pidof "$SSHD"` >/dev/null 2>&1 + + echo -n $"Starting $prog: " + $SSHD $OPTIONS && success || failure + RETVAL=$? + [ $RETVAL -eq 0 ] && touch $lockfile + [ $RETVAL -eq 0 ] && cp -f $XPID_FILE $PID_FILE + echo + return $RETVAL +} + +stop() +{ + + echo -n $"Stopping $prog: " + if [ ! -f "$PID_FILE" ]; then + # not running; per LSB standards this is "ok" + action $"Stopping $prog: " /bin/true + return 0 + fi + PID=`cat "$PID_FILE"` + if [ -n "$PID" ]; then + /bin/kill "$PID" >/dev/null 2>&1 + RETVAL=$? + if [ $RETVAL -eq 0 ]; then + RETVAL=1 + action $"Stopping $prog: " /bin/false + else + action $"Stopping $prog: " /bin/true + fi + else + # failed to read pidfile + action $"Stopping $prog: " /bin/false + RETVAL=4 + fi + # if we are in halt or reboot runlevel kill all running sessions + # so the TCP connections are closed cleanly + if [ "x$runlevel" = x0 -o "x$runlevel" = x6 ] ; then + trap '' TERM + killall $prog 2>/dev/null + trap TERM + fi + [ $RETVAL -eq 0 ] && rm -f $lockfile + rm -f "$PID_FILE" + return $RETVAL +} + +reload() +{ + echo -n $"Reloading $prog: " + if [ -n "`pidfileofproc $SSHD`" ] ; then + killproc $SSHD -HUP + else + failure $"Reloading $prog" + fi + RETVAL=$? + echo +} + +restart() { + stop + start +} + +force_reload() { + restart +} + +rh_status() { + status -p $PID_FILE openssh-daemon +} + +rh_status_q() { + rh_status >/dev/null 2>&1 +} + +case "$1" in + start) + rh_status_q && exit 0 + start + ;; + stop) + if ! rh_status_q; then + rm -f $lockfile + exit 0 + fi + stop + ;; + restart) + restart + ;; + reload) + rh_status_q || exit 7 + reload + ;; + force-reload) + force_reload + ;; + condrestart|try-restart) + rh_status_q || exit 0 + if [ -f $lockfile ] ; then + do_restart_sanity_check + if [ $RETVAL -eq 0 ] ; then + stop + # avoid race + sleep 3 + start + else + RETVAL=6 + fi + fi + ;; + status) + rh_status + RETVAL=$? + if [ $RETVAL -eq 3 -a -f $lockfile ] ; then + RETVAL=2 + fi + ;; + *) + echo $"Usage: $0 {start|stop|restart|reload|force-reload|condrestart|try-restart|status}" + RETVAL=2 +esac +exit $RETVAL