Невозможно открыть /var/run/tor/tor0.pid для записи: разрешение отклонено после нескольких экземпляров

Я работаю на сервере tor, которому необходимо загрузить два экземпляра (один скрытый сервис и одно реле). Когда я использую один экземпляр, он работает нормально ... но с этим руководством У меня проблема с разрешением на pid

С исходным демоном он работает нормально, у меня нет проблем с разрешением ...

Но если я использую этот, добавив это:

# --- Multi-instance init ---

config="/etc/tor"
arrrgs="$ARGS"
command=$1
shift
instances=$*

instances() {
    case $instances in
        "")
            for c in $config/*.cfg
            do
                base=${c##*/}
                test -f "$c" && echo ${base%.cfg}
            done
            ;;
        *)
            echo "$instances"
            ;;
    esac
}

case "$command" in
    start|stop|restart|reload|force-reload|status)
        highest=0
        for i in $(instances)
        do
            NAME=$i
            DESC=$i
            TORPID="$TORPIDDIR/$i.pid"
            ARGS="$arrrgs -f $config/$i.cfg"
            execute $command
            status=$?
            test $status -gt $highest && highest=$status
        done
        exit $highest
        ;;
    *)
        execute
        exit 1
        ;;
esac

У меня ошибка в журнале notice0 / 1.log

29 сентября 16:47: 10.000 [предупреждение] Невозможно открыть "/var/run/tor/tor0.pid" для записи: в доступе отказано

Итак, я не могу остановить экземпляр tor ... Как это возможно? Как исправить-это? В чем разница в разрешении между первым демоном (исходным) и новым ...

Большое спасибо заранее

РЕДАКТИРОВАТЬ :

Если в конфигурации у меня есть PidFile /var/run/tor/tor.pid, он работает без проблем с разрешением, но если у меня есть PidFile /var/run/tor/tor0.pid ошибка разрешения ... Что за ??


person mevaereR    schedule 29.09.2015    source источник
comment
Разрешение / var / run / tor: drwx - S --- 2 debian-tor debian-tor 80 29 сентября, 17:24 tor   -  person mevaereR    schedule 29.09.2015
comment
Какому пользователю принадлежит каждый из файлов PID? Может быть, tor0.pid стал владельцем root или другого пользователя? Чтобы остановить его вручную, просто запустите kill -3 xxx от имени пользователя root, где xxx - это PID процесса Tor, который вы хотите остановить. Затем как root удалите PID-файл, в который у него не было разрешения на запись.   -  person drew010    schedule 29.09.2015
comment
В каталоге нет файла tor0.pid :(. Спасибо   -  person mevaereR    schedule 29.09.2015


Ответы (1)


Я просто перемещаю весь файл pid в /var/lib/tor/tor*.pid, и теперь он работает ...

PATH=/sbin:/bin:/usr/sbin:/usr/bin
DAEMON=/usr/bin/tor
NAME=tor
DESC="tor daemon"
TORLOGDIR=/var/log/tor
TORPIDDIR=/var/lib/tor
TORPID=$TORPIDDIR/tor.pid
DEFAULTSFILE=/etc/default/$NAME

И доработать в конфиге

## The directory for keeping all the keys/etc. By default, we store
## things in $HOME/.tor on Unix, and in Application Data\tor on Windows. DataDirectory /var/lib/tor/0 
PidFile /var/lib/tor/tor0.pid
Log notice file /var/log/tor/notices0.log

Если кто-то знает, почему это работает сейчас, будет здорово.

Спасибо

person mevaereR    schedule 29.09.2015