Seite 1 von 1

efa2 server bei verschiedenen benutzern

Verfasst: Sa 22. Dez 2012, 22:21
von bootswart
Hallo nick,

das efa2 läuft bei mir auf einem Suse 12 als server,
um von anderen remote-clients intern oder extern (win, linux, efalive, efaOnline ) abgefragt zu werden.
Das server-efa läuft ständig auf dem Suse-Rechner unter einem nicht-root-Benutzer mit autostart,
sodaß auch nach einer Spannungsunterbrechung das efa immer wieder hoch kommt.

Wenn ich nun das server-efa nicht mehr mit dem Benutzer starte, bei dem es normalerweise läuft,
sondern z.B. als root, natürlich mit dem gleichen Projekt und Fahrtenbuch sowie den gleichen IP/Port-, efaOnline- und Firewall-Einstellungen inkl. Ausnahmeregeln, kann ich das Projekt von den remote-clients aus plötzlich nicht mehr erreichen. Wenn ich danach wieder umstelle auf den ursprünglichen Benutzer, funktioniert wieder alles.

Ich meine, von außen (LAN oder Internet) sollte es doch keinen Unterschied machen, unter welchem Benutzer der gleichen Maschine (dieselbe IP und Port) das efa seinen Server zur Verfügung stellt. Oder?

Mir ist dieses Verhalten nur aufgefallen, weil die Updates für efa nur mit root-Rechten oder vielleicht auch sudo (hab ich noch nicht getestet) geschrieben werden können, das Programm aber ursprünglich mal unter einem normalen Benutzer gestartet wurde. Ich muß das efa dann immer als root starten (ausreichend sogar auch ohne Projekt/Fahrtenbuch-Aufruf), um das update durchführen zu können.
Zu einem ähnlichen Thema (viewtopic.php?f=9&t=448) habe ich bereits in Bezug auf WIN7 geschrieben. Dort war es jedoch nicht so gravierend, weil es sich um einen efa-client handelte.

Gruß, bootswart

Re: efa2 server bei verschiedenen benutzern

Verfasst: So 23. Dez 2012, 09:39
von nick
Hallo Bootswart,

mit dem Benutzer kann das nichts zu tun haben. Wie du schon schreibst ist es efa egal, unter welchem Benutzer es läuft. Könnten für den Root-Einsatz Firewall oder andere Sicherheitsregeln von Linux den Zugriff verhindern? Hast du mal geschaut, ob efa in der Logdatei beim Start eine Info-Meldung ausgibt, daß es jetzt Remote-Anfragen auf Port 3834 entgegennimmt?

Standardmäßig legt efa für jeden Benutzer eigene Daten-Ordner an. Beim ersten Start von efa (oder später im Konfigurationsmenü) kannst du diesen Ordner auswählen. Falls du verschiedene Ordner wählst, sind auch Admins und Konfiguration getrennt, d.h. du mußt das unter root laufende efa entsprechend konfigurieren und Admins einrichten.

Der Zugriff auf dieselben Daten (dasselbe Projekt) von root und einem anderen Nutzer aus, ist riskant. Zyklisch legt efa beim Schreiben von Dateien neue Journals an. Wenn das unter root passiert, werden diese (sofern du nicht die umask entsprechend gesetzt hast) mit Schreibrechten nur für root angelegt. Wenn du dann später efa wieder als normaler Benutzer startest, könnte es passieren, daß efa dann diese Dateien nicht mehr (über)schreiben darf.

Damit das Online-Update funktioniert, ist es daher eigentlich besser, efa nicht als root zu installieren, sondern in einem Ordner, in dem der Benutzer, der efa ausführt, auch Schreibrechte hat. So ist es auch in efaLive realisiert, wo efa unter /home/efa/efa2 installiert ist, also dem Home Directory des "efa" users.

Gruß,
Nicolas