无法打开" /var/run/tor/tor0.pid"写作:多个实例后权限被拒绝

时间:2015-09-29 15:40:51

标签: linux ubuntu tor

我正在开发一个需要加载两个实例(一个隐藏服务和一个中继)的服务器。 当我正在使用一个实例时,它工作正常......但是this tutorial我对pid有权限问题

使用原始守护程序,它工作正常,我没有任何许可问题......

但如果我使用添加此内容的this one

# --- 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

中有错误

Sep 29 16:47:10.000 [warn]无法打开" /var/run/tor/tor0.pid"写作:权限被拒绝

所以我不能阻止这个例子......怎么可能?怎么纠正呢?第一个守护进程(原始守护进程)和新守护进程之间的权限有什么区别...

非常感谢提前

编辑:

如果在配置中我有 PidFile /var/run/tor/tor.pid 它没有权限问题但是如果我有 PidFile / var / run / tor / tor0.pid 权限错误......是什么??

1 个答案:

答案 0 :(得分:0)

我只是将所有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

如果有人知道它为什么现在正在工作,那就太好了。

由于