Hallo Zusammen,
seit neuestem mein dbus2vdr, mir das Syslog zumüllen zu müssen.
Im Log stehen nur noch folgende Meldungen:
--> http://bpaste.net/show/mz5mu7K2z9RYfsp53N0N/
Hat Jemand eine Idee, woran das liegt, bzw. wie man das abstellen kann?
Hallo Zusammen,
seit neuestem mein dbus2vdr, mir das Syslog zumüllen zu müssen.
Im Log stehen nur noch folgende Meldungen:
--> http://bpaste.net/show/mz5mu7K2z9RYfsp53N0N/
Hat Jemand eine Idee, woran das liegt, bzw. wie man das abstellen kann?
Läuft dein DBus-Daemon stabil? Betreibst du mehr als eine VDR-Instanz gleichzeitig ohne mit Instance-IDs (Parameter -i für den VDR) zu arbeiten?
Moin,
Irgendwie verliert er immer die Verbindung zum dbus-daemon. Mit welchen Parametern startest du das Plugin und darf der Benutzer auf den dbus-system-bus zugreifen (dbus policy)?
Lars.
Das mit mehreren Instanzen ist auch ein guter Hinweis.
Wenn du z.B. einen zweiten vdr als PIP betreibst, dann muss er eine andere Id bekommen.
Lars.
- Ich starte das Plugin ohne irgendwelcher Parameter.
- Mehrere Instanzen des VDR laufen hier nicht.
- Der Benutzer ist root und hat somit auch die Rechte.
- An den Configs habe ich nichts geändert.
Und vorallem, es ging ja schonmal...
Mich würde es nur brennend interessieren, was es da wieder verbogen hat?
- Der Benutzer ist root und hat somit auch die Rechte.
Um auf den System-Bus zugreifen zu dürfen, braucht es glaube ich noch eine entsprechende Policy, z.B. als /etc/dbus/system.d/de.tvdr.vdr.conf
<!DOCTYPE busconfig PUBLIC
"-//freedesktop//DTD D-BUS Bus Configuration 1.0//EN"
"http://www.freedesktop.org/standards/dbus/1.0/busconfig.dtd">
<busconfig>
<!-- Only user root can own the vdr-dbus-service -->
<policy user="root">
<allow own="de.tvdr.vdr"/>
</policy>
<!-- allow everyone to call vdr's methods -->
<policy context="default">
<allow send_destination="de.tvdr.vdr"/>
<allow receive_sender="de.tvdr.vdr"/>
</policy>
</busconfig>
Alles anzeigen
Was siehst du denn mit
während der VDR läuft?
Wenn ich keine gültige Policy für root habe und den VDR als root starte, sehe ich dann das gleiche was du oben gepostet hast im Syslog und bei dbus-monitor sowas durchlaufen, weil dem dbs2vdr-Plugin die Rechte für den System-Bus fehlen:
signal sender=org.freedesktop.DBus -> dest=(null destination) serial=2864 path=/org/freedesktop/DBus; interface=org.freedesktop.DBus; member=NameOwnerChanged
string ":1.1450"
string ""
string ":1.1450"
signal sender=org.freedesktop.DBus -> dest=(null destination) serial=2865 path=/org/freedesktop/DBus; interface=org.freedesktop.DBus; member=NameOwnerChanged
string ":1.1450"
string ":1.1450"
string ""
signal sender=org.freedesktop.DBus -> dest=(null destination) serial=2866 path=/org/freedesktop/DBus; interface=org.freedesktop.DBus; member=NameOwnerChanged
string ":1.1451"
string ""
string ":1.1451"
signal sender=org.freedesktop.DBus -> dest=(null destination) serial=2867 path=/org/freedesktop/DBus; interface=org.freedesktop.DBus; member=NameOwnerChanged
string ":1.1451"
string ":1.1451"
string ""
signal sender=org.freedesktop.DBus -> dest=(null destination) serial=2868 path=/org/freedesktop/DBus; interface=org.freedesktop.DBus; member=NameOwnerChanged
string ":1.1452"
string ""
string ":1.1452"
signal sender=org.freedesktop.DBus -> dest=(null destination) serial=2869 path=/org/freedesktop/DBus; interface=org.freedesktop.DBus; member=NameOwnerChanged
string ":1.1452"
string ":1.1452"
string ""
Alles anzeigen
Läuft der VDR als root weiter oder droppt er seine Rechte auf eine andere UID (passiert, wenn man -u user angibt)?
Fehler gefunden!
die Config sah so aus:
<!DOCTYPE busconfig PUBLIC
"-//freedesktop//DTD D-BUS Bus Configuration 1.0//EN"
"http://www.freedesktop.org/standards/dbus/1.0/busconfig.dtd">
<busconfig>
<!-- Only user vdr can own the vdr-dbus-service -->
<policy user="vdr">
<allow own="de.tvdr.vdr"/>
</policy>
<!-- allow everyone to call vdr's methods -->
<policy context="default">
<allow send_destination="de.tvdr.vdr"/>
<allow receive_sender="de.tvdr.vdr"/>
</policy>
</busconfig>
Alles anzeigen
Habe dann:
geändert in:
Mich würde aber trotzdem brennend interessieren, wodurch das geändert wurde, denn dbus2vdr ist bis vor einer Weile immer fehlerfrei gelaufen??
Und ich bin mir auch zu 100% Sicher, dass ich das nicht geändert habe.
Moin,
Keine Ahnung, aber da das Plugin nicht davon ausgeht, als root, sondern als vdr zu laufen, bringt es nun mal so eine Konfiguration mit. Die muss man eben auf sein System anpassen. Es könnte höchstens sein, dass eine ältere Version diese policy-Datei nicht mitinstalliert hat. Dann greift der Standard, und der ist, dass nur root sich zum dbus-daemon verbinden darf.
vdr lässt man heutzutage doch nicht mehr als root laufen...
Lars.
Ich glaube, ich habe den Schuldigen gefunden.
Es liegt verm. an diese Zeile vom Makefile des Plugins:
Sollte hier nicht eine Abfrage eingebaut werden, die abfragt, ob schon eine *.conf installiert ist und falls ja, diese dann nicht(!!) überschreibt??
Könnte man sicherlich tun, denke ich mal drüber nach.
Lars.
Mein Paketmanager überschreibt die Datei nicht. Wenn du eine andere Konfiguration benutzt, wäre es wohl sinnvoll, die conf-Datei vor dem Installieren passend zu patchen.
Lars.
Paketmanager??
Ich habe das Makefile angepasst, nun ist Ruhe.
Könnte man sicherlich tun, denke ich mal drüber nach.
Das ist absolut unüblich etwas Konditional zu installieren. Dann eher als de.tvdr.vdr.conf.example installieren und es funktioniert dann eben nicht OOTB. Wir ändern das dann im Paket. Aber generell hast du recht. Das ist Sache des Paketmanagements.
Ich persönlich wäre gar nicht bereit etwas zu unterstützen was einfach falsch ist. Wenn jemand den VDR als root laufen lassen will meinetwegen, aber dafür auch noch Forderungen zu stellen ist absolut daneben.
Gerald
Paketmanager??
Ja, das was halt jeder normalerweise verwendet, der nicht LFS nutzt und ein bisschen mehr Kontrolle darüber haben will was mit dem Zeug aus den Sourcen so passieren soll, ob Änderungen an Konfigurationsdateien geschützt werden sollen usw.
Ist zwar ein bischen spaet aber das muss ich doch noch kommentieren
Das ist absolut unüblich etwas Konditional zu installieren. Dann eher als de.tvdr.vdr.conf.example installieren und es funktioniert dann eben nicht OOTB. Wir ändern das dann im Paket. Aber generell hast du recht. Das ist Sache des Paketmanagements.
Ich persönlich wäre gar nicht bereit etwas zu unterstützen was einfach falsch ist. Wenn jemand den VDR als root laufen lassen will meinetwegen, aber dafür auch noch Forderungen zu stellen ist absolut daneben.
Gerald
Das einzige was hier inkorrekt ist ist, dass ein vorhandenes Config file ueberschrieben wird. Daher ist es durchaus legitim vorzuschlagen dass dies geandert wird.
Ich hab jetzt auch ein Ticket dafuer erstellt.
Und bei mir laeuft VDR seit > 10 Jahren als root, und das ist gut so und hat mir mit Sicherheit schon etliche Stunden an unnoetiger Arbeit erspart, und es hat sich auch noch kein User darueber beschwert
Ist das denn "Standard", dass alle Makefiles ihre config-Dateien nur dann installieren, wenn sie nicht da sind?
Ein System ohne Paketmanager find ich schon komisch...
Lars
Ich wuerde fuer ein VDR Plugin das VDR Makefile als Standard ansehen und darin wird mit cp -pn kopiert, was bestehende Dateien ueberleben laesst ...
Ein Makefile darf natürlich alles überschreiben. Man installiert ja auch nicht direkt ins System. Stichwort DESTDIR. Auf vorhandene Dateien überprüfen und gegebenenfalls entsprechend handeln, ist Aufgabe des Paketmanager.
Unter Gen2VDR läuft der VDR also als Root?! Bedenklich.
Ein Makefile darf natürlich alles überschreiben. Man installiert ja auch nicht direkt ins System. Stichwort DESTDIR. Auf vorhandene Dateien überprüfen und gegebenenfalls entsprechend handeln, ist Aufgabe des Paketmanager.
Unter Gen2VDR läuft der VDR also als Root?! Bedenklich.
Danke Copperhead genau das wollte ich hoeren. Faengt diese ...-Diskussion schon wieder an ?
Ich bin hier raus, macht doch alles wie Ihr es fuer richtig haltet.
P.S. Ein vernuenftiges Programm laesst sich auch ohne Paketmanger sauber installieren, aber Du hast natuerlich Recht ich werde meine Scripte abaendern muessen, da ich nicht davon ausgehen kann, dass die Makefiles vernuenftig sind, zumal Du Deine Finger drin haben koenntest :versteck:
[...] Unter Gen2VDR läuft der VDR also als Root?! Bedenklich.
Hat jetzt zwar nichts mit dem Topic zu tun, aber es würde mich doch schon brennend interessieren, was daran "bedenklich" sein soll?
Sie haben noch kein Benutzerkonto auf unserer Seite? Registrieren Sie sich kostenlos und nehmen Sie an unserer Community teil!