(durch Update) zerstörte MRTG-Konfiguration geradezupfen

Alle weiteren Dienste, die nicht in die drei oberen Foren gehören.
Antworten
altmetaller
Beiträge: 108
Registriert: 03.02.2017 12:28:41

(durch Update) zerstörte MRTG-Konfiguration geradezupfen

Beitrag von altmetaller » 24.12.2023 15:17:50

Moin,

im Rahmen eines Updates (via apt) wurde mein MRTG vom "Start via cronjob" auf den Daemon umgestellt. Seitdem funktioniert nichts mehr.

In diesem Beispiel monitore ich mit mrtg-ping-probe und habe festgestellt, dass MRTG seit der Umstellung unter einem eigenen Benutzer läuft, der ping nicht so ohne Weiteres starten darf. Also habe ich die /etc/sudoers angepasst:

Code: Alles auswählen

mrtg	ALL=(ALL:ALL) NOPASSWD: /usr/bin/ping
mrtg	ALL=(ALL:ALL) NOPASSWD: /usr/bin/mrtg-ping-probe
mrtg	ALL=(ALL:ALL) NOPASSWD: /usr/sbin/apcaccess
Wenn ich mich jetzt mit "su -l mrtg" auf den Benutzer klemme und am Prompt

Code: Alles auswählen

sudo /usr/bin/mrtg-ping-probe debianforum.de
eingebe, funktioniert das fehlerfrei und ich bekomme Werte geliefert.

Im Anschluss habe ich das sudo in meine MRTG-Konfiguration eingebaut. Hier ein Beispiel:

Code: Alles auswählen

PageTop[debianforum]: <H1>Responsezeiten Debian Forum</H1>
Target[debianforum]: `sudo /usr/bin/mrtg-ping-probe debianforum.de 2>&1`
Title[debianforum]: Responsezeiten Debian Forum
SetEnv[debianforum]: MRTG_INT_IP="debianforum.de" MRTG_INT_DESCR="ping"
MaxBytes[debianforum]: 100
AbsMax[debianforum]: 200
Options[debianforum]: gauge, growright
YLegend[debianforum]: ping time (ms)
ShortLegend[debianforum]: ms
Legend1[debianforum]: Maximum Round Trip Time in ms
Legend2[debianforum]: Minimum Round Trip Time in ms
Legend3[debianforum]: Maximal 5 Minute Maximum Round Trip Time in ms
Legend4[debianforum]: Maximal 5 Minute Minimum Round Trip Time in ms
LegendI[debianforum]: &nbsp;Max:
LegendO[debianforum]: &nbsp;Min:
Fehlermeldung laut LOG-Datei:
2023-12-24 13:58:16 -- 2023-12-24 13:58:16: ERROR: Skipping webupdates because rateup did not return anything sensible
2023-12-24 13:58:16 -- 2023-12-24 13:58:16: WARNING: rateup died from Signal 0
with Exit Value 1 when doing router 'debianforum'
Signal was 0, Returncode was 1
Und genau das kann ich im Moment nicht so ganz nachvollziehen. Was an der Konsole funktioniert, müsste doch eigentlich auch über den Daemon klappen.

Wer hat Tipps, wie ich das weiter eingrenzen kann?

Gruß,
Jörg

niemand
Beiträge: 499
Registriert: 22.12.2023 16:35:53
Kontaktdaten:

Re: (durch Update) zerstörte MRTG-Konfiguration geradezupfen

Beitrag von niemand » 24.12.2023 15:44:04

altmetaller hat geschrieben: ↑ zum Beitrag ↑
24.12.2023 15:17:50
Was an der Konsole funktioniert, müsste doch eigentlich auch über den Daemon klappen.
Nein, weil ein Daemon ein ganz anderes Environment hat. Debiansudo ist nicht darauf ausgelegt, in einer solchen Umgebung genutzt zu werden.
altmetaller hat geschrieben: ↑ zum Beitrag ↑
24.12.2023 15:17:50
Wer hat Tipps, wie ich das weiter eingrenzen kann?
Mein Tipp wäre, in eine andere Richtung zu gehen, und beispielsweise ping mittels setcap mit cap_net_raw=ep zu versehen, sodass auch ein normaler User es nutzen kann.
„I fought in the Vim-Emacs-War.“ Quelle

Benutzeravatar
cosinus
Beiträge: 3439
Registriert: 08.02.2016 13:44:11
Lizenz eigener Beiträge: GNU General Public License
Wohnort: Bremen

Re: (durch Update) zerstörte MRTG-Konfiguration geradezupfen

Beitrag von cosinus » 24.12.2023 16:43:50

altmetaller hat geschrieben: ↑ zum Beitrag ↑
24.12.2023 15:17:50
der ping nicht so ohne Weiteres starten darf.
Wieso soll der das nicht starten können/dürfen? Die Berechtigungen von ping erlauben das jedem User:

Code: Alles auswählen

$ ls -la $(which ping)
-rwxr-xr-x 1 root root 89K 2022-11-27 08:29 /usr/bin/ping
Welche Fehlermeldung kommt denn? Ist $PATH richtig gesetzt für den User?

niemand
Beiträge: 499
Registriert: 22.12.2023 16:35:53
Kontaktdaten:

Re: (durch Update) zerstörte MRTG-Konfiguration geradezupfen

Beitrag von niemand » 25.12.2023 08:48:08

cosinus hat geschrieben: ↑ zum Beitrag ↑
24.12.2023 16:43:50
Wieso soll der das nicht starten können/dürfen?
Weil /bin/ping unter Umständen nicht die passenden Capabilities hat:

Code: Alles auswählen

root ~ # getcap /bin/ping
/bin/ping =

user ~ % ping localhost
ping: socket: Operation not permitted

root ~ # setcap cap_net_raw+ep /bin/ping
root ~ # getcap /bin/ping
/bin/ping cap_net_raw=ep

user ~ % ping localhost
PING localhost(localhost (::1)) 56 data bytes
64 bytes from localhost (::1): icmp_seq=1 ttl=64 time=0.131 ms
[…]
Eine weitere Möglichkeit wäre, das Binary via setuid mit den Rechten des Eigentümers (also root) laufen zu lassen.
„I fought in the Vim-Emacs-War.“ Quelle

altmetaller
Beiträge: 108
Registriert: 03.02.2017 12:28:41

Re: (durch Update) zerstörte MRTG-Konfiguration geradezupfen

Beitrag von altmetaller » 21.01.2024 15:50:43

Hallo,
niemand hat geschrieben: ↑ zum Beitrag ↑
24.12.2023 15:44:04
Nein, weil ein Daemon ein ganz anderes Environment hat.
Naja - in dem Fall hätte ich aber schon gehofft, dass so etwas berücksichtigt wird, wenn ein Paket (in diesem Fall mrtg) via apt aktualisiert wird. Die bisherige Konfiguration via cron ist ja nichts Unübliches...

Lange Rede, kurzer Sinn: Ich habe MRTG wieder auf den Start via cron-job umgestellt.

Gruß,
Jörg

Antworten