FHEM - Hausautomations-Systeme > Unterstützende Dienste

73_PRESENCE.pm - Patch für ping mittels sudo

(1/1)

CoolTux:
Hallo Markus,

Auf aktuellen Debian Systemen scheinen normale User keine Rechte mehr für /bin/ping zu haben.
Fehlermeldung:

--- Code: ---ping: socket: Die Operation ist nicht erlaubt
--- Ende Code ---


Anbei ein kleiner Patch

--- Code: ------ Programmieren/Perl/Projekte/FHEM/fhem-code/FHEM/73_PRESENCE.pm      2021-02-14 21:23:55.942375247 +0100
+++ tmp/73_PRESENCE.pm  2021-11-20 07:14:58.193149227 +0100
@@ -51,6 +51,7 @@ PRESENCE_Initialize($)
                         "disabledForIntervals ".
                         "fritzboxCheckSpeed:0,1 ".
                         "pingCount:1,2,3,4,5,6,7,8,9,10 ".
+                        "pingPerSUDO:0,1 ".
                         "bluetoothHciDevice ".
                         "absenceThreshold ".
                         "presenceThreshold ".
@@ -778,6 +779,7 @@ sub PRESENCE_DoLocalPingScan($)
     my $retcode;
     my $return;
     my $temp;
+    my $pingCmd = (AttrVal($name,'pingPerSUDO',0) == 1 ? 'sudo ping' : 'ping');

     $SIG{CHLD} = 'IGNORE';

@@ -814,7 +816,7 @@ sub PRESENCE_DoLocalPingScan($)
     }
     else
     {
-        $temp = qx(ping -c $count $device 2>&1);
+        $temp = qx($pingCmd -c $count $device 2>&1);

         if(defined($temp) and $temp ne "")
         {

--- Ende Code ---



Grüße
Marko

MadMax-FHEM:
Bei mir hat:


--- Code: ---sudo setcap 'cap_net_admin,cap_net_raw+ep' /bin/ping

--- Ende Code ---

geholfen...
Allerdings glaube ich kommt das ab und an bei irgendwelchen OS Updates "zurück"...
...also, dass "normale User" nicht mehr dürfen.

Gruß, Joachim

CoolTux:
Das hätte auch geholfen, aber ich bin da eher für eine generelle Lösung.

Navigation

[0] Themen-Index

Zur normalen Ansicht wechseln