-
-
Save stemid/bac0cf838d99ebbb1a4e to your computer and use it in GitHub Desktop.
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
#!/bin/bash | |
# {{ ansible_managed }} | |
# | |
# chroot_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: chroot_sshd | |
### BEGIN INIT INFO | |
# Provides: chroot_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/rc.d/init.d/functions | |
RETVAL=0 | |
prog="chroot_sshd" | |
lockfile=/var/lock/subsys/$prog | |
# Some functions to make the below more readable | |
SSHD=/usr/sbin/chroot_sshd | |
CONF_DIR=/etc/chroot_ssh | |
PID_FILE=/var/run/${prog}.pid | |
OPTIONS="-4f $CONF_DIR/sshd_config" | |
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 $CONF_DIR/sshd_config ] || exit 6 | |
echo -n $"Starting $prog: " | |
$SSHD $OPTIONS && success || failure | |
RETVAL=$? | |
[ $RETVAL -eq 0 ] && touch $lockfile | |
echo | |
return $RETVAL | |
} | |
stop() | |
{ | |
echo -n $"Stopping $prog: " | |
killproc -p $PID_FILE $SSHD | |
RETVAL=$? | |
# 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 | |
echo | |
} | |
reload() | |
{ | |
echo -n $"Reloading $prog: " | |
killproc -p $PID_FILE $SSHD -HUP | |
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 |
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment