"Fossies" - the Fresh Open Source Software Archive

Member "sshdfilter-1.5.7/etc/init.d/sshd.rh7390" (3 Jun 2006, 2668 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             success $"RSA1 key generation"
   39             echo
   40         else
   41             failure $"RSA1 key generation"
   42             echo
   43             exit 1
   44         fi
   45     fi
   46 }
   47 
   48 do_rsa_keygen() {
   49     if [ ! -s $RSA_KEY ]; then
   50         echo -n $"Generating SSH2 RSA host key: "
   51         if $KEYGEN -q -t rsa -f $RSA_KEY -C '' -N '' >&/dev/null; then
   52             chmod 600 $RSA_KEY
   53             chmod 644 $RSA_KEY.pub
   54             success $"RSA key generation"
   55             echo
   56         else
   57             failure $"RSA key generation"
   58             echo
   59             exit 1
   60         fi
   61     fi
   62 }
   63 
   64 do_dsa_keygen() {
   65     if [ ! -s $DSA_KEY ]; then
   66         echo -n $"Generating SSH2 DSA host key: "
   67         if $KEYGEN -q -t dsa -f $DSA_KEY -C '' -N '' >&/dev/null; then
   68             chmod 600 $DSA_KEY
   69             chmod 644 $DSA_KEY.pub
   70             success $"DSA key generation"
   71             echo
   72         else
   73             failure $"DSA key generation"
   74             echo
   75             exit 1
   76         fi
   77     fi
   78 }
   79 
   80 do_restart_sanity_check()
   81 {
   82     $SSHD -t
   83     RETVAL=$?
   84     if [ ! "$RETVAL" = 0 ]; then
   85         failure $"Configuration file or keys are invalid"
   86         echo
   87     fi
   88 }
   89 
   90 start()
   91 {
   92     # Create keys if necessary
   93     do_rsa1_keygen
   94     do_rsa_keygen
   95     do_dsa_keygen
   96 
   97     echo -n $"Starting $prog:"
   98     initlog -c "/usr/local/sbin/sshdfilter $OPTIONS" && success || failure
   99     RETVAL=$?
  100     [ "$RETVAL" = 0 ] && touch /var/lock/subsys/sshd
  101     echo
  102 }
  103 
  104 stop()
  105 {
  106     echo -n $"Stopping $prog:"
  107     killproc $SSHD -TERM
  108     RETVAL=$?
  109     [ "$RETVAL" = 0 ] && rm -f /var/lock/subsys/sshd
  110     echo
  111 }
  112 
  113 reload()
  114 {
  115     echo -n $"Reloading $prog:"
  116     killproc $SSHD -HUP
  117     RETVAL=$?
  118     echo
  119 }
  120 
  121 case "$1" in
  122     start)
  123         start
  124         ;;
  125     stop)
  126         stop
  127         ;;
  128     restart)
  129         stop
  130         start
  131         ;;
  132     reload)
  133         reload
  134         ;;
  135     condrestart)
  136         if [ -f /var/lock/subsys/sshd ] ; then
  137             do_restart_sanity_check
  138             if [ "$RETVAL" = 0 ] ; then
  139                 stop
  140                 # avoid race
  141                 sleep 3
  142                 start
  143             fi
  144         fi
  145         ;;
  146     status)
  147         status $SSHD
  148         RETVAL=$?
  149         ;;
  150     *)
  151         echo $"Usage: $0 {start|stop|restart|reload|condrestart|status}"
  152         RETVAL=1
  153 esac
  154 exit $RETVAL