"Fossies" - the Fresh Open Source Software Archive

Member "sshdfilter-1.5.7/etc/init.d/sshd.rhFC40.orig" (3 Jun 2006, 3050 Bytes) of package /linux/privat/old/sshdfilter-1.5.7.tar.gz:


As a special service "Fossies" has tried to format the requested source page into HTML format using (guessed) Bash source code syntax highlighting (style: standard) with prefixed line numbers and code folding option. Alternatively you can here view or download the uninterpreted source code file.

    1 #!/bin/bash
    2 #
    3 # Init file for OpenSSH server daemon
    4 #
    5 # chkconfig: 2345 55 25
    6 # description: OpenSSH server daemon
    7 #
    8 # processname: sshd
    9 # config: /etc/ssh/ssh_host_key
   10 # config: /etc/ssh/ssh_host_key.pub
   11 # config: /etc/ssh/ssh_random_seed
   12 # config: /etc/ssh/sshd_config
   13 # pidfile: /var/run/sshd.pid
   14 
   15 # source function library
   16 . /etc/rc.d/init.d/functions
   17 
   18 # pull in sysconfig settings
   19 [ -f /etc/sysconfig/sshd ] && . /etc/sysconfig/sshd
   20 
   21 RETVAL=0
   22 prog="sshd"
   23 
   24 # Some functions to make the below more readable
   25 KEYGEN=/usr/bin/ssh-keygen
   26 SSHD=/usr/sbin/sshd
   27 RSA1_KEY=/etc/ssh/ssh_host_key
   28 RSA_KEY=/etc/ssh/ssh_host_rsa_key
   29 DSA_KEY=/etc/ssh/ssh_host_dsa_key
   30 PID_FILE=/var/run/sshd.pid
   31 
   32 do_rsa1_keygen() {
   33     if [ ! -s $RSA1_KEY ]; then
   34         echo -n $"Generating SSH1 RSA host key: "
   35         if $KEYGEN -q -t rsa1 -f $RSA1_KEY -C '' -N '' >&/dev/null; then
   36             chmod 600 $RSA1_KEY
   37             chmod 644 $RSA1_KEY.pub
   38             if [ -x /sbin/restorecon ]; then
   39                 /sbin/restorecon $RSA1_KEY.pub
   40             fi
   41             success $"RSA1 key generation"
   42             echo
   43         else
   44             failure $"RSA1 key generation"
   45             echo
   46             exit 1
   47         fi
   48     fi
   49 }
   50 
   51 do_rsa_keygen() {
   52     if [ ! -s $RSA_KEY ]; then
   53         echo -n $"Generating SSH2 RSA host key: "
   54         if $KEYGEN -q -t rsa -f $RSA_KEY -C '' -N '' >&/dev/null; then
   55             chmod 600 $RSA_KEY
   56             chmod 644 $RSA_KEY.pub
   57             if [ -x /sbin/restorecon ]; then
   58                 /sbin/restorecon $RSA_KEY.pub
   59             fi
   60             success $"RSA key generation"
   61             echo
   62         else
   63             failure $"RSA key generation"
   64             echo
   65             exit 1
   66         fi
   67     fi
   68 }
   69 
   70 do_dsa_keygen() {
   71     if [ ! -s $DSA_KEY ]; then
   72         echo -n $"Generating SSH2 DSA host key: "
   73         if $KEYGEN -q -t dsa -f $DSA_KEY -C '' -N '' >&/dev/null; then
   74             chmod 600 $DSA_KEY
   75             chmod 644 $DSA_KEY.pub
   76             if [ -x /sbin/restorecon ]; then
   77                 /sbin/restorecon $DSA_KEY.pub
   78             fi
   79             success $"DSA key generation"
   80             echo
   81         else
   82             failure $"DSA key generation"
   83             echo
   84             exit 1
   85         fi
   86     fi
   87 }
   88 
   89 do_restart_sanity_check()
   90 {
   91     $SSHD -t
   92     RETVAL=$?
   93     if [ ! "$RETVAL" = 0 ]; then
   94         failure $"Configuration file or keys are invalid"
   95         echo
   96     fi
   97 }
   98 
   99 start()
  100 {
  101     # Create keys if necessary
  102     do_rsa1_keygen
  103     do_rsa_keygen
  104     do_dsa_keygen
  105 
  106     echo -n $"Starting $prog: "
  107     $SSHD $OPTIONS && success || failure
  108     RETVAL=$?
  109     [ "$RETVAL" = 0 ] && touch /var/lock/subsys/sshd
  110     echo
  111 }
  112 
  113 stop()
  114 {
  115     echo -n $"Stopping $prog: "
  116     if [ -n "`pidfileofproc $SSHD`" ] ; then
  117         killproc $SSHD -TERM
  118     else
  119         failure $"Stopping $prog"
  120     fi
  121     RETVAL=$?
  122     [ "$RETVAL" = 0 ] && rm -f /var/lock/subsys/sshd
  123     echo
  124 }
  125 
  126 reload()
  127 {
  128     echo -n $"Reloading $prog: "
  129     if [ -n "`pidfileofproc $SSHD`" ] ; then
  130         killproc $SSHD -HUP
  131     else
  132         failure $"Reloading $prog"
  133     fi
  134     RETVAL=$?
  135     echo
  136 }
  137 
  138 case "$1" in
  139     start)
  140         start
  141         ;;
  142     stop)
  143         stop
  144         ;;
  145     restart)
  146         stop
  147         start
  148         ;;
  149     reload)
  150         reload
  151         ;;
  152     condrestart)
  153         if [ -f /var/lock/subsys/sshd ] ; then
  154             do_restart_sanity_check
  155             if [ "$RETVAL" = 0 ] ; then
  156                 stop
  157                 # avoid race
  158                 sleep 3
  159                 start
  160             fi
  161         fi
  162         ;;
  163     status)
  164         status $SSHD
  165         RETVAL=$?
  166         ;;
  167     *)
  168         echo $"Usage: $0 {start|stop|restart|reload|condrestart|status}"
  169         RETVAL=1
  170 esac
  171 exit $RETVAL