FHEM Forum

FHEM => Anfängerfragen => Thema gestartet von: Rampler am 10 Dezember 2019, 19:17:34

Titel: icmp ping requires root privilege at ./FHEM/98_ping.pm line 167
Beitrag von: Rampler am 10 Dezember 2019, 19:17:34
Hallo zusammen,
ich würde gerne div. IP Adressen überwachen.
Dafür habe ich das ping modul installiert:

Internals:
   DEF        192.168.1.10 ICMP 5
   FAILCOUNT  0
   FUUID      5defca6b-f33f-b6d9-eb17-22e6ca40ef1f9739
   HOST       192.168.1.10
   MODE       icmp
   NAME       Check_IP_Test
   NR         621
   STATE      Initialized
   TIMEOUT    5
   TYPE       ping
   READINGS:
     2019-12-10 18:37:30   state           Initialized
   helper:
Attributes:
   alias      Check IP Test
   checkInterval 30
   event-on-change-reading state
   icon       it_network
   minFailCount 3
   room       Router
   verbose    0


Das funktioniert aber nicht, stattdessen bekomme ich diese Fehlermeldung:

icmp ping requires root privilege at ./FHEM/98_ping.pm line 167

Ein List auf /bin/ping ergibt: (rpi wheezy)
klaus@Raspberry ~ $ sudo ls -l /bin/ping
-rwsrwsrwx 1 root root 33220 Mar 30  2012 /bin/ping
klaus@Raspberry ~ $


Ein ID fhem liefert:
klaus@Raspberry ~ $ sudo id fhem
uid=999(fhem) gid=20(dialout) groups=20(dialout),5(tty),27(sudo),100(users),105(netdev),999(input)
klaus@Raspberry ~ $


FHEM läuft unter:
klaus@Raspberry ~ $ sudo ps u -e | grep fhem
fhem      2410  5.5  5.1  53764 51716 ?        R    18:37   2:09 perl fhem.pl fhem.cfg
klaus     2894  0.0  0.1   3584  1844 pts/0    S+   19:16   0:00 grep --color=auto fhem



Mit TCP bekomme ich leider immer wieder Fehlalarme.

Weiß jemand Rat, wie ich ICMP zum laufen bekomme ?

VG Klaus

Titel: Antw:icmp ping requires root privilege at ./FHEM/98_ping.pm line 167
Beitrag von: CoolTux am 10 Dezember 2019, 19:25:35
wheezy ist eine Uralte Version die 5 Jahre und mehr auf dem Buckel hat. Bitte mache ein update.
Titel: Antw:icmp ping requires root privilege at ./FHEM/98_ping.pm line 167
Beitrag von: Rampler am 10 Dezember 2019, 19:30:39
Zitat von: CoolTux am 10 Dezember 2019, 19:25:35
wheezy ist eine Uralte Version die 5 Jahre und mehr auf dem Buckel hat. Bitte mache ein update.

Klar ist wheezy alt, sollte aber dennoch laufen...
Bevor ich update, lasse ich es lieber, ist mir zuviel Aufwand ..
Titel: Antw:icmp ping requires root privilege at ./FHEM/98_ping.pm line 167
Beitrag von: CoolTux am 10 Dezember 2019, 19:48:55
Du solltest aber auch bedenken das neue Entwicklungen bei FHEM eventuell bei alten Systemen wie Deines nicht korrekt oder gar nicht laufen.
Ich würde darauf jeden Fall keinen Support geben (ist aber mein persönliches Ding)
Titel: Antw:icmp ping requires root privilege at ./FHEM/98_ping.pm line 167
Beitrag von: amenomade am 10 Dezember 2019, 20:10:49
Die richtige Berechtigungen für ping sind:
-rwsr-xr-x 1 root root  /bin/ping


Sonst auf tcp statt icmp gehen
Titel: Antw:icmp ping requires root privilege at ./FHEM/98_ping.pm line 167
Beitrag von: Rampler am 10 Dezember 2019, 20:30:15
Native unter Linux funktionierts jedenfalls:
klaus@Raspberry ~ $ sudo -u fhem ping 192.168.1.10
PING 192.168.1.10 (192.168.1.10) 56(84) bytes of data.
64 bytes from 192.168.1.10: icmp_req=1 ttl=254 time=3.28 ms
64 bytes from 192.168.1.10: icmp_req=2 ttl=254 time=2.78 ms
64 bytes from 192.168.1.10: icmp_req=3 ttl=254 time=2.81 ms
64 bytes from 192.168.1.10: icmp_req=4 ttl=254 time=3.24 ms
64 bytes from 192.168.1.10: icmp_req=5 ttl=254 time=2.56 ms
64 bytes from 192.168.1.10: icmp_req=6 ttl=254 time=3.42 ms
64 bytes from 192.168.1.10: icmp_req=7 ttl=254 time=2.41 ms
64 bytes from 192.168.1.10: icmp_req=8 ttl=254 time=3.88 ms
64 bytes from 192.168.1.10: icmp_req=9 ttl=254 time=9.08 ms
Titel: Antw:icmp ping requires root privilege at ./FHEM/98_ping.pm line 167
Beitrag von: Rampler am 10 Dezember 2019, 20:38:18
Zitat von: amenomade am 10 Dezember 2019, 20:10:49
Die richtige Berechtigungen für ping sind:
-rwsr-xr-x 1 root root  /bin/ping


Sonst auf tcp statt icmp gehen

Mit tcp bekomme ich immer wieder mal diesen Fehler:

Timeout for ping_DoPing reached, terminated process 2656
Titel: Antw:icmp ping requires root privilege at ./FHEM/98_ping.pm line 167
Beitrag von: amenomade am 10 Dezember 2019, 20:46:34
Zitat von: Rampler am 10 Dezember 2019, 20:30:15
Native unter Linux funktionierts jedenfalls:
klaus@Raspberry ~ $ sudo -u fhem ping 192.168.1.10
PING 192.168.1.10 (192.168.1.10) 56(84) bytes of data.
64 bytes from 192.168.1.10: icmp_req=1 ttl=254 time=3.28 ms


Und sudo -g dialout ping 192.168.1.10?

ZitatMit tcp bekomme ich immer wieder mal diesen Fehler:

Timeout for ping_DoPing reached, terminated process 2656
Und wenn Du den Timeout erhöst?

Was sagt die Log mit verbose 5?
Titel: Antw:icmp ping requires root privilege at ./FHEM/98_ping.pm line 167
Beitrag von: Rampler am 10 Dezember 2019, 20:56:58
Und
sudo -g dialout ping 192.168.1.10


klaus@Raspberry ~ $ sudo -g dialout ping 192.168.1.10
PING 192.168.1.10 (192.168.1.10) 56(84) bytes of data.
64 bytes from 192.168.1.10: icmp_req=1 ttl=254 time=3.58 ms
64 bytes from 192.168.1.10: icmp_req=2 ttl=254 time=2.87 ms
64 bytes from 192.168.1.10: icmp_req=3 ttl=254 time=5.36 ms
64 bytes from 192.168.1.10: icmp_req=4 ttl=254 time=8.09 ms

ZitatUnd wenn Du den Timeout erhöst?

Habe ich bereits auf 5 Sekunden ..

ZitatWas sagt die Log mit verbose 5?

icmp ping requires root privilege at ./FHEM/98_ping.pm line 167
2019.12.10 20:53:26 3: BlockingCall for Check_IP_Heizoeltank was aborted
2019.12.10 20:53:56 5: Check_IP_Heizoeltank_DoPing: Executing ping
icmp ping requires root privilege at ./FHEM/98_ping.pm line 167
Titel: Antw:icmp ping requires root privilege at ./FHEM/98_ping.pm line 167
Beitrag von: amenomade am 10 Dezember 2019, 21:06:38
Das Problem ist, ein icmp ping braucht root Berechtigungen, um ein raw Socket zu öffnen.
Mit "sudo ... ping" rufst Du /bin/ping, das den setuid (und auch bei dir guid) gesetzt hat: somit läuft es mit root Berechtigungen

Das Fhem ping Modul nutzt aber nicht das ping Kommando des systems, sondern Net::Ping.
So lange dein perl Prozess nicht mit root Berechtigungen läuft, kann es nicht gehen
Titel: Antw:icmp ping requires root privilege at ./FHEM/98_ping.pm line 167
Beitrag von: justme1968 am 10 Dezember 2019, 22:17:32
was spricht gegen PRESENCE statt ping modul?

da kannst du über attribute konfigurieren wie bei einem oder mehreren verlorenen ping reagiert wird.  und du kannst dir auch das system kommando das zum pingen verwendet wird konfigurieren. (d.h. auch das setuid binary) und auch mehr als ein paket. und das ganze asynchron im hintergrund.
Titel: Antw:icmp ping requires root privilege at ./FHEM/98_ping.pm line 167
Beitrag von: Rampler am 11 Dezember 2019, 17:38:06
Zitat von: justme1968 am 10 Dezember 2019, 22:17:32
was spricht gegen PRESENCE statt ping modul?

da kannst du über attribute konfigurieren wie bei einem oder mehreren verlorenen ping reagiert wird.  und du kannst dir auch das system kommando das zum pingen verwendet wird konfigurieren. (d.h. auch das setuid binary) und auch mehr als ein paket. und das ganze asynchron im hintergrund.

EINWANDFREI !!!
AbsenceThresHold gesetzt und alles läuft super ..
DANKE