• Hallo liebe Userinnen und User,

    nach bereits längeren Planungen und Vorbereitungen sind wir nun von vBulletin auf Xenforo umgestiegen. Die Umstellung musste leider aufgrund der Serverprobleme der letzten Tage notgedrungen vorverlegt werden. Das neue Forum ist soweit voll funktionsfähig, allerdings sind noch nicht alle der gewohnten Funktionen vorhanden. Nach Möglichkeit werden wir sie in den nächsten Wochen nachrüsten. Dafür sollte es nun einige der Probleme lösen, die wir in den letzten Tagen, Wochen und Monaten hatten. Auch der Server ist nun potenter als bei unserem alten Hoster, wodurch wir nun langfristig den Tank mit Bytes vollgetankt haben.

    Anfangs mag die neue Boardsoftware etwas ungewohnt sein, aber man findet sich recht schnell ein. Wir wissen, dass ihr alle Gewohnheitstiere seid, aber gebt dem neuen Board eine Chance.
    Sollte etwas der neuen oder auch gewohnten Funktionen unklar sein, könnt ihr den "Wo issn da der Button zu"-Thread im Feedback nutzen. Bugs meldet ihr bitte im Bugtracker, es wird sicher welche geben die uns noch nicht aufgefallen sind. Ich werde das dann versuchen, halbwegs im Startbeitrag übersichtlich zu halten, was an Arbeit noch aussteht.

    Neu ist, dass die Boardsoftware deutlich besser für Mobiltelefone und diverse Endgeräte geeignet ist und nun auch im mobilen Style alle Funktionen verfügbar sind. Am Desktop findet ihr oben rechts sowohl den Umschalter zwischen hellem und dunklem Style. Am Handy ist der Hell-/Dunkelschalter am Ende der Seite. Damit sollte zukünftig jeder sein Board so konfigurieren können, wie es ihm am liebsten ist.


    Die restlichen Funktionen sollten eigentlich soweit wie gewohnt funktionieren. Einfach mal ein wenig damit spielen oder bei Unklarheiten im Thread nachfragen. Viel Spaß im ngb 2.0.

Tor bei Systemstart als Dienst?

axel3

ButtercremTORte

Registriert
7 Aug. 2013
Beiträge
52
Ort
zwischen Geistig und Materiell ;)
Moin, zusammen:
Ich stolpere gerade darüber, dass auf meinem 14.04 Tor bereits bei Systemstart als Dienst mitläuft:
PID 1137 ? S 0:02 /usr/bin/tor --defaults-torrc /usr/share/tor/tor-service-defaults-torrc --hush

Schaue ich auf meine torrc, sehe ich
[src=bash]## Uncomment this to start the process in the background... or use
## --runasdaemon 1 on the command line. This is ignored on Windows;
## see the FAQ entry if you want Tor to run as an NT service.
#RunAsDaemon 1[/src]

Wie man sieht, ist es auskommentiert...

in meiner tor-service-defaults-torr sehe ich:
[src=bash]c

DataDirectory /var/lib/tor
PidFile /var/run/tor/tor.pid
RunAsDaemon 1
User debian-tor

ControlSocket /var/run/tor/control
ControlSocketsGroupWritable 1

CookieAuthentication 1
CookieAuthFileGroupReadable 1
CookieAuthFile /var/run/tor/control.authcookie

Log notice file /var/log/tor/log[/src]

Weshalb läuft das als Dienst schon bei Systemstart mit? Ich dachte bisher, die torrc sei maßgeblich?
Weiß da jemand was? Kennt jemand dieses Verhalten?
Gruß:
Axel3
 

Kugelfisch

Nerd

Registriert
12 Juli 2013
Beiträge
2.342
Ort
Im Ozean
Weshalb läuft das als Dienst schon bei Systemstart mit? Ich dachte bisher, die torrc sei maßgeblich?
Grundsätzlich ja, allerdings wird in deinem Fall durch den Kommandozeilenparameter [kw]--defaults-torrc /usr/share/tor/tor-service-defaults-torrc[/kw] explizit festgelegt, dass die von Tor festgelegten Standardwerte durch die Werte in [kw]tor-service-defaults-torrc[/kw] zu ersetzen sind (und dann wiederum von deiner [kw]torrc[/kw] überschieben werden können). Das `Problem` in deinem Fall ist allerdings gar nicht die [kw]RunAsDaemon[/kw] (diese sorgt nur dafür, dass sich Tor nach dem Start selbst in den Hintergrund schickt), sondern die Tatsache, dass Tor überhaupt beim Systemstart gestartet wird.

Mutmasslich wurde auf deinem System, eventuell mit dem tor-Paket, ein Service-Skript installiert, welches Tor beim Systemstart automatisch startet. Überprüfe einmal, ob du eines in /etc/init.d/ findest (und/oder in der systemd-Konfiguration, sofern du systemd einsetzt).
 

axel3

ButtercremTORte

Registriert
7 Aug. 2013
Beiträge
52
Ort
zwischen Geistig und Materiell ;)
  • Thread Starter Thread Starter
  • #3
Moin:
Ja, ich sehe in /etc/init.d DEFAULT_ARGS="--defaults-torrc /usr/share/tor/tor-service-defaults-torrc"
# Required-Start: $local_fs $remote_fs $network $named $time
# Required-Stop: $local_fs $remote_fs $network $named $time
# Should-Start: $syslog
# Should-Stop: $syslog
# Default-Start: 2 3 4 5
# Default-Stop: 0 1 6
#! /bin/bash

### BEGIN INIT INFO
# Provides: tor
# Required-Start: $local_fs $remote_fs $network $named $time
# Required-Stop: $local_fs $remote_fs $network $named $time
# Should-Start: $syslog
# Should-Stop: $syslog
# Default-Start: 2 3 4 5
# Default-Stop: 0 1 6
# Short-Description: Starts The Onion Router daemon processes
# Description: Start The Onion Router, a TCP overlay
# network client that provides anonymous
# transport.
### END INIT INFO

# Load the VERBOSE setting and other rcS variables
. /lib/init/vars.sh

# Define LSB log_* functions.
. /lib/lsb/init-functions

PATH=/sbin:/bin:/usr/sbin:/usr/bin
DAEMON=/usr/bin/tor
NAME=tor
DESC="tor daemon"
TORLOGDIR=/var/log/tor
TORPIDDIR=/var/run/tor
TORPID=$TORPIDDIR/tor.pid
DEFAULTSFILE=/etc/default/$NAME
WAITFORDAEMON=60
DEFAULT_ARGS="--defaults-torrc /usr/share/tor/tor-service-defaults-torrc"
VERIFY_ARGS="--verify-config $DEFAULT_ARGS"
USE_AA_EXEC="yes"
ARGS=""
if [ "${VERBOSE:-}" != "yes" ]; then
ARGS="$ARGS --hush"
fi

# Let's try to figure our some sane defaults:
if [ -r /proc/sys/fs/file-max ]; then
system_max=`cat /proc/sys/fs/file-max`
if [ "$system_max" -gt "80000" ] ; then
MAX_FILEDESCRIPTORS=32768
elif [ "$system_max" -gt "40000" ] ; then
MAX_FILEDESCRIPTORS=16384
elif [ "$system_max" -gt "10000" ] ; then
MAX_FILEDESCRIPTORS=8192
else
MAX_FILEDESCRIPTORS=1024
cat << EOF

Warning: Your system has very few filedescriptors available in total.

Maybe you should try raising that by adding 'fs.file-max=100000' to your
/etc/sysctl.conf file. Feel free to pick any number that you deem appropriate.
Then run 'sysctl -p'. See /proc/sys/fs/file-max for the current value, and
file-nr in the same directory for how many of those are used at the moment.

EOF
fi
else
MAX_FILEDESCRIPTORS=8192
fi

NICE=""

test -x $DAEMON || exit 0

# Include tor defaults if available
if [ -f $DEFAULTSFILE ] ; then
. $DEFAULTSFILE
fi

wait_for_deaddaemon () {
pid=$1
sleep 1
if test -n "$pid"
then
if kill -0 $pid 2>/dev/null
then
cnt=0
while kill -0 $pid 2>/dev/null
do
cnt=`expr $cnt + 1`
if [ $cnt -gt $WAITFORDAEMON ]
then
log_action_end_msg 1 "still running"
exit 1
fi
sleep 1
[ "`expr $cnt % 3`" != 2 ] || log_action_cont_msg ""
done
fi
fi
log_action_end_msg 0
}


check_torpiddir () {
if test ! -d $TORPIDDIR; then
mkdir -m 02750 "$TORPIDDIR"
chown debian-tor:debian-tor "$TORPIDDIR"
! [ -x /sbin/restorecon ] || /sbin/restorecon "$TORPIDDIR"
fi

if test ! -x $TORPIDDIR; then
log_action_end_msg 1 "cannot access $TORPIDDIR directory, are you root?"
exit 1
fi
}

check_torlogdir () {
if test ! -d $TORLOGDIR; then
mkdir -m 02750 "$TORLOGDIR"
chown debian-tor:adm "$TORLOGDIR"
! [ -x /sbin/restorecon ] || /sbin/restorecon "$TORPIDDIR"
fi
}


check_config () {
if ! $DAEMON $VERIFY_ARGS > /dev/null; then
log_failure_msg "Checking if $NAME configuration is valid"
$DAEMON $VERIFY_ARGS >&2
exit 1
fi
}


case "$1" in
start)
if [ "$RUN_DAEMON" != "yes" ]; then
log_action_msg "Not starting $DESC (Disabled in $DEFAULTSFILE)."
exit 0
fi

if [ -n "$MAX_FILEDESCRIPTORS" ]; then
[ "${VERBOSE:-}" != "yes" ] || log_action_begin_msg "Raising maximum number of filedescriptors (ulimit -n) for tor to $MAX_FILEDESCRIPTORS"
if ulimit -n "$MAX_FILEDESCRIPTORS" ; then
[ "${VERBOSE:-}" != "yes" ] || log_action_end_msg 0
else
[ "${VERBOSE:-}" != "yes" ] || log_action_end_msg 1
fi
fi

check_torpiddir
check_torlogdir
check_config

log_action_begin_msg "Starting $DESC"

if start-stop-daemon --stop --signal 0 --quiet --pidfile $TORPID --exec $DAEMON; then
log_action_end_msg 0 "already running"
else
if [ "$USE_AA_EXEC" = "yes" ] &&
[ -x /usr/sbin/aa-status ] && \
[ -x /usr/sbin/aa-exec ] && \
[ -e /etc/apparmor.d/system_tor ] && \
/usr/sbin/aa-status --enabled ; then
AA_EXEC="--startas /usr/sbin/aa-exec"
AA_EXEC_ARGS="--profile=system_tor -- $DAEMON"
else
AA_EXEC=""
AA_EXEC_ARGS=""
fi
if start-stop-daemon --start --quiet \
--pidfile $TORPID \
$NICE \
$AA_EXEC \
--exec $DAEMON -- $AA_EXEC_ARGS $DEFAULT_ARGS $ARGS
then
log_action_end_msg 0
else
log_action_end_msg 1
exit 1
fi
fi
;;
stop)
log_action_begin_msg "Stopping $DESC"
pid=`cat $TORPID 2>/dev/null` || true

if test ! -f $TORPID -o -z "$pid"; then
log_action_end_msg 0 "not running - there is no $TORPID"
exit 0
fi

if start-stop-daemon --stop --signal INT --quiet --pidfile $TORPID --exec $DAEMON; then
wait_for_deaddaemon $pid
elif kill -0 $pid 2>/dev/null; then
log_action_end_msg 1 "Is $pid not $NAME? Is $DAEMON a different binary now?"
exit 1
else
log_action_end_msg 1 "$DAEMON died: process $pid not running; or permission denied"
exit 1
fi
;;
reload|force-reload)
check_config

log_action_begin_msg "Reloading $DESC configuration"
pid=`cat $TORPID 2>/dev/null` || true

if test ! -f $TORPID -o -z "$pid"; then
log_action_end_msg 1 "not running - there is no $TORPID"
exit 1
fi

if start-stop-daemon --stop --signal 1 --quiet --pidfile $TORPID --exec $DAEMON
then
log_action_end_msg 0
elif kill -0 $pid 2>/dev/null; then
log_action_end_msg 1 "Is $pid not $NAME? Is $DAEMON a different binary now?"
exit 1
else
log_action_end_msg 1 "$DAEMON died: process $pid not running; or permission denied"
exit 1
fi
;;
restart)
check_config

$0 stop
sleep 1
$0 start
;;
status)
if test ! -r $(dirname $TORPID); then
log_failure_msg "cannot read PID file $TORPID"
exit 4
fi
pid=`cat $TORPID 2>/dev/null` || true
if test ! -f $TORPID -o -z "$pid"; then
log_failure_msg "$NAME is not running"
exit 3
fi
if ps "$pid" >/dev/null 2>&1; then
log_success_msg "$NAME is running"
exit 0
else
log_failure_msg "$NAME is not running"
exit 1
fi
;;
*)
log_action_msg "Usage: $0 {start|stop|restart|reload|force-reload|status}" >&2
exit 1
;;
esac

exit 0

Wenn ich richtig aufgepasst habe, sagt er : Starte den Dienst bei 2,3,4 und 5
und vergleiche die Konfiguration mit "--defaults-torrc /usr/share/tor/tor-service-defaults-torrc"
Damit wäre - wenn ich das richtig verstehe - tor-service-defaults-torrc für den Start als Dienst verantwortlich.

In https://wiki.archlinux.org/index.php/tor finde ich jedoch: By default Tor reads configurations from the file /etc/tor/torrc
Bleibt noch die Frage: Welchen Grund gäbe es, TOR als Dienst bei Systemstart mitlaufen zu lassen?
Gruß:
Axel
 

Shinigami

ばかやろう

Registriert
14 Juli 2013
Beiträge
1.471
Ort
Akihabara
Bleibt noch die Frage: Welchen Grund gäbe es, TOR als Dienst bei Systemstart mitlaufen zu lassen?

Achtung: Komplette Spekulation. Ich hab keine Ahnung, ob das der Fall ist.

Sofern bei TOR die Einstellung für ein Relay/Exit-Node aktiviert ist, macht das Starten von TOR bei Systemstart durchaus Sinn, da dadurch mehr Relay/Exit Nodes vorhanden wären. Da aber meines Wissens nach sowohl Relay als auch Exit-Nodes explizit aktiviert werden müssen, sehe ich auch keinen richtigen Sinn darin.
 

Kugelfisch

Nerd

Registriert
12 Juli 2013
Beiträge
2.342
Ort
Im Ozean
Wenn ich richtig aufgepasst habe, sagt er : Starte den Dienst bei 2,3,4 und 5
und vergleiche die Konfiguration mit "--defaults-torrc /usr/share/tor/tor-service-defaults-torrc"
Damit wäre - wenn ich das richtig verstehe - tor-service-defaults-torrc für den Start als Dienst verantwortlich.
Nein, das Init-Skript als solches ist für den Start als Dienst verantwortlich. Der von dir zitierte LSB-Header führt dazu, dass das Skript (nach Ausführen von install_initd) für die Runlevels 2, 3, 4 und 5 gestartet wird, und dann Tor startet. [kw]tor-service-defaults-torrc[/kw] enthält lediglich die Konfiguration. Falls du den Dienst deaktivieren möchtest, kannst du das Init-Skript über [kw]/usr/lib/lsb/remove_initd tor[/kw] deinstallieren, dann wird es beim Systemstart nicht mehr automatisch ausgeführt.

Bleibt noch die Frage: Welchen Grund gäbe es, TOR als Dienst bei Systemstart mitlaufen zu lassen?
Neben dem von Shinigami erwähnten Vorteil beim Betrieb als Tor-Node (Netzwerk-intern oder als Exit-Node) oder Tor-Bridge entspricht der Betrieb als Dienst eher den üblichen Unix-Paradigmen und erlaubt es z.B. auch, Tor unter einem eigenen Benutzerkonto auszuführen, das über keinerlei Rechte verfügt, was sicherheitstechnisch von Vorteil ist. Mutmasslich wird ein [kw]ps aux | grep tor[/kw] auf deinem System zeigen, dass der Tor-Prozess nicht unter deinem Benutzernamen, sondern als Benutzer `tor` (oder ggf. auch `nobody`) läuft.
 
Oben