You can not select more than 25 topics Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
 
 
 
 
 
 

69 lines
1.9 KiB

#!@l_prefix@/lib/openpkg/bash @l_prefix@/etc/rc
##
## rc.openssh -- Run-Commands
##
%config
openssh_enable="$openpkg_rc_def"
openssh_log_prolog="true"
openssh_log_epilog="true"
openssh_log_numfiles="10"
openssh_log_minsize="1M"
openssh_log_complevel="9"
%common
openssh_signal () {
openssh_pidfile="@l_prefix@/var/openssh/sshd.pid"
[ -f $openssh_pidfile ] && kill -$1 `cat $openssh_pidfile`
}
%status -p 200 -u @l_susr@ -o
openssh_usable="unknown"
openssh_active="no"
opServiceEnabled openssh && \
openssh_signal 0 && openssh_active="yes"
echo "openssh_enable=\"$openssh_enable\""
echo "openssh_usable=\"$openssh_usable\""
echo "openssh_active=\"$openssh_active\""
%start -p 200 -u @l_susr@
opServiceEnabled openssh || exit 0
@l_prefix@/bin/sshd
%stop -p 200 -u @l_susr@
opServiceEnabled openssh || exit 0
openssh_signal TERM
# sshd removes the pidfile itself
# rm -f $openssh_pidfile 2>/dev/null || true
%restart -u @l_susr@
opServiceEnabled openssh || exit 0
openssh_signal TERM
sleep 2
@l_prefix@/bin/sshd
%daily -u @l_susr@
opServiceEnabled openssh || exit 0
opTmpDirGen openssh
opTmpDirFile openssh hint hintfile
prolog="true"
if [ ".$openssh_log_prolog" != . ]; then
prolog="$prolog; $openssh_log_prolog"
fi
epilog="echo 'epilog' >$hintfile"
if [ ".$openssh_log_epilog" != . ]; then
epilog="$epilog; $openssh_log_epilog"
fi
shtool rotate -f \
-n${openssh_log_numfiles} -s${openssh_log_minsize} -d \
-z${openssh_log_complevel} -o@l_susr@ -g@l_sgrp@ -m644 \
-P "${openssh_log_prolog}" \
-E "${openssh_log_epilog}" \
@l_prefix@/var/openssh/openssh.log
if [ ".`cat $hintfile`" = ".epilog" ]; then
openssh_signal TERM
sleep 2
@l_prefix@/bin/sshd
fi
opTmpDirDel openssh