ZeroNet, Tor und Arch-Linux

Ein kleines Problem tauchte vor (keine Ahnung wann… ich hab echt nicht mitbekommen, wann das genau passierte… muss nach einem Update des Tor-Pakets passiert sein) einiger Zeit unter Arch-Linux bei der Verwendung von ZeroNet in Verbindung mit Tor auf.

Der Start von ZeroNet.sh führte zu der Fehlermeldung, dass die Verbindung zu Tor nicht hergestellt werden könne. Die Ursache war schnell gefunden: Das Verzeichnis /var/lib/tor, das dem Benutzer ‚tor‘ und der Gruppe ‚tor‘ zugeordnet ist, war zwar für den Benutzer ‚tor‘ noch lesbar, nicht jedoch für Benutzer, die auch in der Gruppe ‚tor‘ waren (was ich ja mit dem Befehl usermod -a -G Tor [deinlinuxbenutzer] erreicht hatte [1]).

Ein sudo chmod 750 /var/lib/tor führte dann dazu, dass alles wieder funktionierte. Allerdings nicht lange. Sobald der Service ‚tor‘ gestoppt wurde und dann wieder gestartet, waren die Verzeichnisrechte auf 700 zurückgesetzt… ZeroNet bockte danach selbstverständlich wieder im Hinblick auf Tor.

Ich habe dann eine Weile gesucht und fand in der Konfigurationsdatei für Tor (/etc/tor/torrc) die Zeile DataDirectoryGroupReadable 0,die dazu führt, dass das Datenverzeichnis (/var/lib/tor) für Gruppenmitglieder (Gruppe ‚tor‘) auf nicht-lesbar gesetzt wird.

Also schnelle mal geändert: DataDirectoryGroupReadable 1 … und ein laaaanges Gesicht gemacht. Es änderte sich nix. Nach dem Start des Tor-Services (systemctl start tor … oder auch beim Autostart nach dem Booten) sind die Verzeichnisrechte trotzdem wieder auf 700 gesetzt… also für Gruppenmitglieder NICHT lesbar.

Habe mir dann noch die Service-Datei (/usr/lib/systemd/system/tor.service) angeschaut, dort aber nix gefunden. Auch ein eher unsortiertes Herumsuchen in den Konfigurationsdateien des Systems brachte mich nicht weiter.

Was tun? Nun, wenn man Arch-Linux nutzt, dann ist der erste Weg, die Suche nach dem Problem auf den Projektseiten. Habe mich durch die Wikis [2][3] und die Foren gewühlt… aber leider auch nix gefunden. So habe ich dann die Frage im deutschsprachigen Forum [4] gestellt. Schließlich ist Arch „berühmt“ für die hilfsbereite und kompetente Community.

Kurze Zeit später erreichten mich auch schon die ersten Lösungsvorschläge. Die meisten klangen vielversprechend, führten aber letztlich nicht zum Erfolg. Aber dann kam ein Tipp vom Fori schard, der das Problem auf seinem System nachvollzogen hat und es mit einem zusätzlichen Eintrag in der torrc beheben konnte: CacheDirectoryGroupReadable 1

Ein weiteres Forenmitglied, das sich reingehängt hat, GerBra, hat dann auch noch genaueres zu dem Problem herausgefunden. Die Lösung funktioniert, wenn man nicht noch zusätzlich einen anderen Pfad für das CacheDirectory setzt. Dann nämlich entspricht das CacheDirectory dem DataDirectory. Und hier liegt auch ein „Fehler“ bei Tor vor, denn die Konfigurationsvariable CacheDirectoryGroupReadable überschreibt faktisch die Einstellung, die man mit der Konfigurationsvariablen DataDirectoryGroupReadable getroffen hat, sofern beide den selben Pfad nutzen. Eigentlich kein wirklicher Fehler, eher eine Inkonsistenz. Ich werde das mal melden und schauen, ob und wie das Problem gelöst wird. Ich denke, es wird keine hohe Priorität erhalten, denn es handelt sich dabei eher um ein Konfigurationsproblem… ich hätte jetzt keine Idee, wie man das besser priorisieren könnte.

Abschließend für alle Arch-Linux-User, die meine kleine Anleitung Einfacher Start mit ZeroNet nutzen: In der Datei torrc die Zeilen

DataDirectoryGroupReadable 1
CacheDirectoryGroupReadable 1

ergänzen… dann klappt es (wieder)!

Und dann noch ein dickes Dankeschön an die hilfreichen Foris des deutschen Arch-Linux-Forums! Nicht nur, dass das Problem gelöst wurde… es ging auch noch extrem flott… innerhalb eines Tages (von gestern 21:24 bis heute gg. 12:30… und auch Foris schlafen ja nachts vielleicht mal).


[1] https://pepecyb.hu/2018/03/07/einfacher-start-mit-zeronet/
[2] https://wiki.archlinux.org/
[3] https://wiki.archlinux.de/title/Hauptseite
[4] https://bbs.archlinux.de/

Schreibe einen Kommentar

Deine E-Mail-Adresse wird nicht veröffentlicht. Erforderliche Felder sind mit * markiert.