svnserve init.d сценарий

Следует иметь в виду, что FTP отправляет Ваш пароль в ОТКРЫТОМ ТЕКСТЕ. Таким образом, потенциал для компромисса определенно там.

Другая вещь рассмотреть, действительно ли Ваш пароль FTP УНИКАЛЕН для Вашего хостинга? Вы уверены, что не используете его БОЛЬШЕ НИГДЕ? Никакие другие учетные записи, веб-сайты, и т.д.?

Насколько безопасный Ваш ПОЧТОВЫЙ пароль? Я был вовлечен в случаи, где "слабое звено" было на самом деле ПОЧТОВЫМ паролем, и преступник просто отправлял, "забыл пароли" на адрес электронной почты и удаление доказательства от электронного ящика, в то время как все были слишком заняты, фокусируясь на поставленном под угрозу сервере для замечания.

Всего несколькими вещами, которые пришли на ум... некоторые другие вещи, конечно, будет подход социальной инженерии с Вашим ISP или некоторой программной уязвимостью на Вашем сервере или одном из пакетов Ваш хостинг.

Существует более (очевидно), но это обычно - "обычные подозреваемые".


ОБНОВЛЕНИЕ:

На основе этой новой информации (что хакер не использует FTP для изменения файлов) я могу только предположить, что наиболее вероятной причиной является, вероятно, незащищенное веб-приложение.

Это не ЕДИНСТВЕННАЯ вещь, которой это может быть всего лишь в случаях как это, наиболее вероятно.

Другая вещь рассмотреть (и проверка на) состоит в том, если он оставил себя своего рода "черным ходом" Вашему приложению. Я, кажется, вспоминаю Вас упоминающий прежде, который Ваш ISP сказал, что он приехал на пути FTP. Действительно ли возможно, что он приехал на пути FTP в первый раз и оставил себя черным ходом?

Кроме того, это - выстрел в темноте, но я лично засвидетельствовал поставленные под угрозу поля, куда хакер только приехал в ОДНО время, но оставил задание крона, которое продолжало изменять файлы и другое различное зло. Действительно ли возможно, что хакер не возвратился, и Вы имеете дело с автоматизированным сценарием? Просто что-то, чтобы проверить, чувствуете ли Вы исчерпание всех других возможностей.

Наконец, у Вас есть доступ к Вашим блогам, системным журналам, и т.д.? Если так, что они говорят? Они показывают какие-либо подсказки?

0
задан 12 January 2011 в 11:13
3 ответа

Вот то, что я приготовил. обратите внимание, что мой svn каталог находится на корневой папке/svn

#!/bin/bash
#
#   /etc/rc.d/init.d/subversion
#
# Starts the Subversion Daemon
#
# chkconfig: 2345 90 10
# description: Subversion Daemon

# processname: svnserve

. /etc/rc.d/init.d/functions

[ -x /usr/bin/svnserve ] || exit 1

RETVAL=0
prog="svnserve"
desc="Subversion Daemon"

start() {
        echo -n $"Starting $desc ($prog): "
   daemon $prog -r /svn -d
   RETVAL=$?
   [ $RETVAL -eq 0 ] && touch /var/lock/subsys/$prog
   echo
}

stop() {
   echo -n $"Shutting down $desc ($prog): "
   killproc $prog
   RETVAL=$?
   [ $RETVAL -eq 0 ] && success || failure
   echo
   [ $RETVAL -eq 0 ] && rm -f /var/lock/subsys/$prog
   return $RETVAL
}

case "$1" in
  start)
   start
   ;;
  stop)
   stop
   ;;
  restart)
   stop
   start
   RETVAL=$?
   ;;
  condrestart)
        [ -e /var/lock/subsys/$prog ] && restart
   RETVAL=$?
   ;;
  *)
   echo $"Usage: $0 {start|stop|restart|condrestart}"
   RETVAL=1
esac

exit $RETVAL

Измените эту строку для отражения каталога

daemon $prog -r /svn -denter code here

Затем выполненный в оболочке

#chkconfig --add svnserve
#chkconfig svnserve on

Перезапустите сервис, чтобы видеть, работает ли он

#service svnserve restart

и бум :D

0
ответ дан 5 December 2019 в 17:20

Я создал интеллектуальный сценарий debian, основанный в основном на пакете Tomcat. При необходимости вы можете изменить основную переменную, она также может обрабатывать механизм по умолчанию. Наслаждайтесь.

#! /bin/sh
#
# /etc/init.d/subversion -- startup script for Subversion
#
# Author: Csaba Tenkes csaba.tenkes@brevissimus.eu
#
### BEGIN INIT INFO
# Provides:          subversion
# Required-Start:    $local_fs $remote_fs $network
# Required-Stop:     $local_fs $remote_fs $network
# Default-Start:     2 3 4 5
# Default-Stop:      0 1 6
# Short-Description: Start subversion
# Description:       Start the Subversion server.
### END INIT INFO

set -e
PATH=/bin:/usr/bin:/sbin:/usr/sbin
DESC="Subversion server"
NAME=svnserve
SCRIPTNAME=/etc/init.d/$NAME
PIDFILE=/var/run/$NAME.pid

SVN_USER=subversion
SVN_GROUP=subversion
SVN_REPO_PATH=/opt/svn-repos/

SVNSERVE=/usr/bin/$NAME
SVNSERVE_ARGS="-d -r $SVN_REPO_PATH"

[ -x "$SVNSERVE" ] || exit 0

[ -r /etc/default/$NAME ] && . /etc/default/$NAME

. /lib/lsb/init-functions


case "$1" in
  start)
    set +e
    log_daemon_msg "Starting $DESC" "$NAME"
    if ! [ -f "$PIDFILE" ];  then # TODO: 'ps fax | grep svnserve| grep ?' or process is existing
        umask 002
        start-stop-daemon --start --chuid $SVN_USER:$SVN_GROUP --make-pidfile --pidfile $PIDFILE --exec $SVNSERVE -- \
            $SVNSERVE_ARGS >/dev/null; 
        chown $SVN_USER "$PIDFILE" 
        log_end_msg 0
    else    
        log_progress_msg "(already running)"
        log_end_msg  $?
    fi
    set -e
    ;;

  stop)
    set +e
    log_daemon_msg "Stopping $DESC" "$NAME"
    if [ -f "$PIDFILE" ]; then 

        if start-stop-daemon --stop --exec $SVNSERVE; then
            log_end_msg 0
        else
            log_end_msg $?
        fi  
        rm -f "$PIDFILE"
    else
        log_progress_msg "(not running)"
        log_end_msg 0
    fi  
    set -e
    ;;

  restart|force-reload)
    if [ -f "$PIDFILE" ]; then
        $0 stop
        sleep 1
    fi
    $0 start
    ;;

  status)
    set +e
    start-stop-daemon --test --start --pidfile "$PIDFILE" \
    --user $SVN_USER --exec $SVNSERVE \
    >/dev/null 2>&1

    if [ "$?" = "0" ]; then
        if [ -f "$PIDFILE" ]; then
            PID=`cat $PIDFILE`
            log_daemon_msg "$DESC" "$NAME (pid $PID) is running.."
            log_end_msg 0
            exit 0
        else
            log_daemon_msg "$DESC" "$NAME is not running"
            log_end_msg 0
            exit 3
        fi
    else
        log_daemon_msg "$DESC " "$NAME is running with pid `cat $PIDFILE`"
        log_end_msg 0
        exit 0
    fi
    set -e
    ;;


  *)
    log_success_msg "Usage: $SCRIPTNAME {start|stop|status|restart|force-reload}"
    exit 1
    ;;
esac

exit 0
0
ответ дан 5 December 2019 в 17:20

в наши дни это должно быть так просто (если бы с ним только svnserve;В настоящее время я использую v1.9.5):

sudo systemctl enable svnserve
sudo systemctl daemon-reload

, но /etc/init.d/svnserve по-прежнему работает для Stretch (Debian v9.2, который я использую сейчас):

#!/bin/sh
if [ true != "$INIT_D_SCRIPT_SOURCED" ] ; then
    set "$0" "$@"; INIT_D_SCRIPT_SOURCED=true . /lib/init/init-d-script
fi
### BEGIN INIT INFO
# Provides:          svnserve
# Required-Start:    $remote_fs $syslog
# Required-Stop:     $remote_fs $syslog
# Default-Start:     2 3 4 5
# Default-Stop:      0 1 6
# Short-Description: svnserve init script
# Description:       bare minimum svn init script
### END INIT INFO
DESC="subversion server"
DAEMON=/usr/bin/svnserve
DAEMON_ARGS="-d -r /data/svn --log-file /var/log/svn.log"

ПРИМЕЧАНИЕ: измените базовый путь репо на набор ваши потребности, т.е. я использовал "svnadmin create / data / svn / repo1" и этот путь в аргументах демона, чтобы я мог просто svn: // host / repo1

, а затем запустить:

sudo chmod 755 /etc/init.d/svnserve
sudo update-rc.d svnserve defaults

, если вы получите ошибку Что касается отсутствия init-d-script, вы, вероятно, используете старый Debian, например Wheezy, поэтому «sudo rm /etc/init.d/svnserve», а затем «sudo cp /etc/init.d/skeleton / etc / init .d / svnserve "(который существовал еще в Wheezy, но не сейчас), и измените три строки ниже (первый блок - по умолчанию, а второй - то, что должно быть, отмечая sbin => bin):

NAME=daemonexecutablename
DAEMON=/usr/sbin/$NAME
DAEMON_ARGS="--options args"

NAME=svnserve
DAEMON=/usr/bin/$NAME
DAEMON_ARGS="-d -r /data/svn --log-file /var/log/svn.log"*

[лучше слишком много информации, чем слишком мало]

0
ответ дан 5 December 2019 в 17:20

Теги

Похожие вопросы