我正在开发一个需要加载两个实例(一个隐藏服务和一个中继)的服务器。 当我正在使用一个实例时,它工作正常......但是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 权限错误......是什么??
答案 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
如果有人知道它为什么现在正在工作,那就太好了。
由于