📄 sshd.init
字号:
#! /bin/bash## $Id: sshd.init,v 1.4 2003/11/21 12:48:57 djm Exp $#### BEGIN INIT INFO# Provides:# Required-Start: $network# Required-Stop:# Default-Start: 3 4 5# Default-Stop: 0 1 2 6# Description: sshd# Bring up/down the OpenSSH secure shell daemon.### END INIT INFO## Written by Miquel van Smoorenburg <miquels@drinkel.ow.org>.# Modified for Debian GNU/Linux by Ian Murdock <imurdock@gnu.ai.mit.edu>.# Modified for OpenLinux by Raymund Will <ray@caldera.de>NAME=sshdDAEMON=/usr/sbin/$NAME# Hack-Alert(TM)! This is necessary to get around the 'reload'-problem# created by recent OpenSSH daemon/ssd combinations. See Caldera internal# PR [linux/8278] for details...PIDF=/var/run/$NAME.pidNAME=$DAEMON_status() { [ -z "$1" ] || local pidf="$1" local ret=-1 local pid if [ -n "$pidf" ] && [ -r "$pidf" ]; then pid=$(head -1 $pidf) else pid=$(pidof $NAME) fi if [ ! -e $SVIlock ]; then # no lock-file => not started == stopped? ret=3 elif [ -n "$pidf" -a ! -f "$pidf" ] || [ -z "$pid" ]; then # pid-file given but not present or no pid => died, but was not stopped ret=2 elif [ -r /proc/$pid/cmdline ] && echo -ne $NAME'\000' | cmp -s - /proc/$pid/cmdline; then # pid-file given and present or pid found => check process... # but don't compare exe, as this will fail after an update! # compares OK => all's well, that ends well... ret=0 else # no such process or exe does not match => stale pid-file or process died # just recently... ret=1 fi return $ret}# Source function library (and set vital variables).. @SVIdir@/functionscase "$1" in start) [ ! -e $SVIlock ] || exit 0 [ -x $DAEMON ] || exit 5 SVIemptyConfig @sysconfdir@/sshd_config && exit 6 if [ ! \( -f @sysconfdir@/ssh_host_key -a \ -f @sysconfdir@/ssh_host_key.pub \) -a \ ! \( -f @sysconfdir@/ssh_host_rsa_key -a \ -f @sysconfdir@/ssh_host_rsa_key.pub \) -a \ ! \( -f @sysconfdir@/ssh_host_dsa_key -a \ -f @sysconfdir@/ssh_host_dsa_key.pub \) ]; then echo "$SVIsubsys: host key not initialized: skipped!" echo "$SVIsubsys: use ssh-host-keygen to generate one!" exit 6 fi echo -n "Starting $SVIsubsys services: " ssd -S -x $DAEMON -n $NAME -- $OPTIONS ret=$? echo "." touch $SVIlock ;; stop) [ -e $SVIlock ] || exit 0 echo -n "Stopping $SVIsubsys services: " ssd -K -p $PIDF -n $NAME ret=$? echo "." rm -f $SVIlock ;; force-reload|reload) [ -e $SVIlock ] || exit 0 echo "Reloading $SVIsubsys configuration files: " ssd -K --signal 1 -q -p $PIDF -n $NAME ret=$? echo "done." ;; restart) $0 stop $0 start ret=$? ;; status) _status $PIDF ret=$? ;; *) echo "Usage: $SVIscript {[re]start|stop|[force-]reload|status}" ret=2 ;;esacexit $ret
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -