Linux 无法打开“/var/run/tor/tor0.pid”进行写入:多个实例后权限被拒绝

Linux 无法打开“/var/run/tor/tor0.pid”进行写入:多个实例后权限被拒绝,linux,ubuntu,tor,Linux,Ubuntu,Tor,我在一个tor服务器上工作,它需要加载两个实例—一个隐藏服务和一个中继。 当我使用一个实例时,它工作得很好。。。但是我在pid上有一个权限问题 与原来的守护程序,它的工作很好,我没有任何问题的许可 但是,如果我使用以下哪种方法添加: # --- Multi-instance init --- config="/etc/tor" arrrgs="$ARGS" command=$1 shift instances=$* instances() { case $instances in

我在一个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中有错误

9月29日16:47:10.000[警告]无法打开/var/run/tor/tor0.pid进行写入:权限被拒绝

所以我无法阻止tor的例子。。。怎么可能呢?如何纠正?第一个守护进程(原始守护进程)和新守护进程(新守护进程)在权限方面有什么区别

多谢你提前通知我

编辑:


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

我只是把所有的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
如果有人知道它为什么现在起作用,那就太好了


谢谢

/var/run/tor的权限是:drwx-S--2 debian tor debian tor 80 Sep 29 17:24 tor哪个用户拥有每个PID文件?也许tor0.pid被root或其他用户拥有?要手动停止它,只需以root用户身份运行kill-3xxx,其中xxx是要停止的Tor进程的PID。然后以root用户身份删除其没有写入权限的PID文件。目录中没有tor0.PID文件:。谢谢