rc.openssh 1.5 KB

12345678910111213141516171819202122232425262728293031323334353637383940414243444546474849505152535455565758596061
  1. #!@l_prefix@/lib/openpkg/bash @l_prefix@/etc/rc
  2. ##
  3. ## rc.openssh -- Run-Commands for OpenSSH Daemon
  4. ##
  5. %config
  6. openssh_enable="yes"
  7. openssh_log_prolog="true"
  8. openssh_log_epilog="true"
  9. openssh_log_numfiles="10"
  10. openssh_log_minsize="1M"
  11. openssh_log_complevel="9"
  12. %common
  13. openssh_signal () {
  14. if [ -f "@l_prefix@/var/openssh/sshd.pid" ]; then
  15. kill -$1 `cat @l_prefix@/var/openssh/sshd.pid`
  16. fi
  17. }
  18. %start -p 200 -u root
  19. opServiceEnabled openssh || exit 0
  20. @l_prefix@/bin/sshd
  21. %stop -p 200 -u root
  22. opServiceEnabled openssh || exit 0
  23. openssh_signal TERM
  24. %restart -u root
  25. opServiceEnabled openssh || exit 0
  26. openssh_signal TERM
  27. sleep 2
  28. @l_prefix@/bin/sshd
  29. %daily -u root
  30. opServiceEnabled openssh || exit 0
  31. opTmpDirGen openssh
  32. opTmpDirFile openssh hint hintfile
  33. prolog="true"
  34. if [ ".$openssh_log_prolog" != . ]; then
  35. prolog="$prolog; $openssh_log_prolog"
  36. fi
  37. epilog="echo 'epilog' >$hintfile"
  38. if [ ".$openssh_log_epilog" != . ]; then
  39. epilog="$epilog; $openssh_log_epilog"
  40. fi
  41. shtool log -f \
  42. -n${openssh_log_numfiles} -s${openssh_log_minsize} \
  43. -d -z${openssh_log_complevel} \
  44. -o@l_fsusr@ -g@l_fsgrp@ -m644 \
  45. -P "$prolog" \
  46. -E "$epilog" \
  47. @l_prefix@/var/openssh/sshd.log
  48. if [ ".`cat $hintfile`" = ".epilog" ]; then
  49. openssh_signal TERM
  50. sleep 2
  51. @l_prefix@/bin/sshd
  52. fi
  53. opTmpDirDel openssh