74_Nmap

Begonnen von igami, 18 September 2016, 10:28:34

Vorheriges Thema - Nächstes Thema

igami

und nun noch ein

sudo /usr/bin/nmap -sn 192.168.1.0/24

Ich vermute, dass der Pfad mit angegeben werden muss, damit die sudoers file greift
Pi3 mit fhem.cfg + DbLog/logProxy
Komm vorbei zum FHEM Treffen im Kreis Gütersloh! Das nächste Mal im April 2020.

MAINTAINER: archetype, LuftdatenInfo, monitoring, msgDialog, Nmap, powerMap
ToDo: AVScene, FluxLED

supernova1963

Das war's auch nicht. Das Passwort muss ich eingeben, dass sudoers file greift trotz Pfadangabe nicht.

Kann es sein, dass es mit meiner Installation von OpenSSL und/oder Webmni zusammenhängt?
Das waren meine letzten Änderungen.

Danke für deine Unterstützung, igami.

Gernot

igami

Zitat von: supernova1963 am 09 Oktober 2016, 22:09:41
Kann es sein, dass es mit meiner Installation von OpenSSL und/oder Webmni zusammenhängt?
Dazu kann ich leider nichts sagen.

Funktioniert denn der andere sudo Befehl der noch für fhem in deiner sudoers file steht?
Pi3 mit fhem.cfg + DbLog/logProxy
Komm vorbei zum FHEM Treffen im Kreis Gütersloh! Das nächste Mal im April 2020.

MAINTAINER: archetype, LuftdatenInfo, monitoring, msgDialog, Nmap, powerMap
ToDo: AVScene, FluxLED

supernova1963

Nein, sudo /etc/init.d/homebridge läßt sich auch nicht ohne Passwort ausführen.
Es scheint so, als würden die Vorgaben in sudoers nicht berücksichtigt.
Derzeit durchforste ich das Internet und die sudo Dokumentationen nach diesen Auswirkungen, bisher leider noch ohne Erfolg.
Ich habe es doch richtig interpretiert, dass mit der Definition "NOPASSWD" in sudoers der angegebene User sudo mit der angegebenen ausführbaren Datei ohne Passwort Eingabe ausführen kann?

Vielen Dank für Deine Unterstützung,

Gernot

supernova1963

#79
Ich hab's gefunden, die Reihenfolge war entscheidend (http://askubuntu.com/questions/504652/adding-nopasswd-in-etc-sudoers-doesnt-work).
Neue sudoers:
root@SERVERFHEM:/etc# cat sudoers
#
# This file MUST be edited with the 'visudo' command as root.
#
# Please consider adding local content in /etc/sudoers.d/ instead of
# directly modifying this file.
#
# See the man page for details on how to write a sudoers file.
#
Defaults        env_reset
Defaults        mail_badpass
Defaults        secure_path="/usr/local/sbin:/usr/local/bin:/usr/sbin:/usr/bin:/sbin:/bin"

# Host alias specification

# User alias specification

# Cmnd alias specification

# User privilege specification
root    ALL=(ALL:ALL) ALL
#fhem   ALL=(ALL) NOPASSWD:/opt/fhem/FHEM/backup.sh, /etc/init.d/homebridge, /usr/bin/nmap

# Members of the admin group may gain root privileges
%admin  ALL=(ALL) ALL

# Allow members of group sudo to execute any command
%sudo   ALL=(ALL:ALL) ALL
fhem    ALL=(ALL) NOPASSWD:/opt/fhem/FHEM/backup.sh, /etc/init.d/homebridge, /usr/bin/nmap
# See sudoers(5) for more information on "#include" directives:

#includedir /etc/sudoers.d

So läuft das Modul auch mit sudo=1.

Was habe ich gelernt: Änderungen nicht nur mit copy&paste einsetzen, sondern vorher lesen und die Empfehlungen ernst nehmen. Ich werde zukünftige Ergänzungen in sudoers.d vornehmen (und die Reihenfolge beachten).

Noch einmal vielen Dank für die Unterstützung, igami.

Gernot

igami

Schön, dass es nun funktioniert. Ganz nachvollziehen kann ich das noch nicht. Ich glaube ich muss mir den Thread den du verlinkt hast noch mal in Ruhe durchlesen.
Pi3 mit fhem.cfg + DbLog/logProxy
Komm vorbei zum FHEM Treffen im Kreis Gütersloh! Das nächste Mal im April 2020.

MAINTAINER: archetype, LuftdatenInfo, monitoring, msgDialog, Nmap, powerMap
ToDo: AVScene, FluxLED

supernova1963

So habe ich es letztendlich aufgrund des Threads und der Empfehlung in der Datei 'sudoers' gemacht:

1. Folgende Zeilen in die Zwischenablage kopieren (Markieren und [Strg]+c drücken):
#Damit der Benutzer fhem bei der Ausführung von 'sudo /usr/bin/nmap' kein Passwort eingeben muss.
#Wird für das Modul 74_nmap.pm in Fhem benötigt um das Attribut 'sudo=1' zu nutzen.
fhem ALL=(ALL) NOPASSWD: /usr/bin/nmap

2. Danach neue Datei in /etc/suedoers.d/myoverrides erstellen:
sudo visudo -f /etc/sudoers.d/myoverrides
3. Zwischenablage einfügen ([Strg]+v)

Anschließend habe ich die (vergeblichen) Änderungen aus meiner Datei sudoers ebenfalls zu /etc/sudoers.d/myoverrides hinzugefügt und in der Datei sudoers gelöscht:
#Damit der Benutzer fhem bei der Ausführung von 'sudo /etc/init.d/homebridge' kein Passwort eingeben muss.
#Wird für 'FHEM.Homebridge.DOIF' in Fhem benötigt um den Status zu lesen/ändern.
fhem ALL=(ALL) NOPASSWD: /etc/init.d/homebridge

#Damit der Benutzer fhem bei der Ausführung von '/opt/fhem/FHEM/backup.sh' kein Passwort eingeben muss.
#Wird für Befehl 'backup' in Fhem benötigt.
fhem ALL=(ALL) NOPASSWD: /opt/fhem/FHEM/backup.sh


4. Prüfen und Verlassen: [Strg]+x

Sollte ein Fehler gefunden werden nicht speichern bzw. ignorieren, sondern Änderungen löschen/korrigieren!

Das Modul nmap läuft seitdem einwandfrei.
Vielen Dank noch einmal auch für die geduldige Unterstützung.

Gernot

igami

Neue Version im ersten Beitrag:
- bei metaReading macAddress werden die Doppelpunkte durch Bindestriche ersetzt
- es erfolgt ein Abbruch wenn versucht wird ein scann mit sudo 1 auszuführen, ohne dass der Benutzer die Rechte hat
Pi3 mit fhem.cfg + DbLog/logProxy
Komm vorbei zum FHEM Treffen im Kreis Gütersloh! Das nächste Mal im April 2020.

MAINTAINER: archetype, LuftdatenInfo, monitoring, msgDialog, Nmap, powerMap
ToDo: AVScene, FluxLED

hartenthaler

Super! Dank @igami!

Ich hatte erst das gleiche Problem mit meiner /etc/sudoers, dass die Berechtigungen nicht anerkannt worden sind. Dank an @supernova1963 wg. deiner Lösung!

Dann habe ich mich erst vergeblich an der Lösung zur Erstellung einer readingsGroup versucht. Aber da hat @justme1968 ganze Arbeit geleistet und nachdem ich seinen Link hier gefunden hatte, war es kein Problem mehr (wobei ich noch nicht behaupten möchte, dass ich seine Lösung zu 100% verstehe). Hier mein List der readingsGroup (mein nmap-Device heißt "Netzueberwachung"):

Internals:
   CFGFN
   DEF        <IP-Adresse>,<Rechner-Name>,<MAC>,<Hersteller>
Netzueberwachung:@2,<#1>,(.*)_hostname,#1_macAddress,#1_macVendor
   NAME       Netzgeraeteuebersicht
   NR         1344
   NTFY_ORDER 50-Netzgeraeteuebersicht
   STATE      Initialized
   TYPE       readingsGroup
...
Attributes:
   nonames    1
   room       Datennetz
   sortFn     rgSortIP


Was mir jetzt noch fehlt ist das notify das mir meldet (etwa per pushover) sobald ein neues Gerät (d.h. neue Mac-Adresse) auftaucht. Wie habt ihr das gelöst?
fhem 5.8 auf RaspberryPi 3 mit HMLAN und CCU2, ZWave, JeeLink, FHZ1000 für FS20, HMS, Fritz!Box, Fritz!DECT200, Harmony, Sonos, hue, netatmo, SSCam, Wetter- und Verkehrsmodule, Chat-Bot mit RiveScript/Telegram, IFTTT, pushover, ...

igami

Zitat von: hartenthaler am 25 Oktober 2016, 16:24:32
Was mir jetzt noch fehlt ist das notify das mir meldet (etwa per pushover) sobald ein neues Gerät (d.h. neue Mac-Adresse) auftaucht. Wie habt ihr das gelöst?
Siehe Commandref:
Zitat
Wird ein neues Gerät erkannt wird ein Event "<name> new host: <hostname> (<IPv4>)" erzeugt.
Wird erkannt, dass ein Gerät mit bekannter MAC-Adresse eine neue IP erhalten hat wird ein Event "<name> new IP: <hostname> (<IPv4>)" erzeugt.
Selbst habe ich in der hinsicht aber noch keine Auswertung/Benachrichtigung umgesetzt.
Pi3 mit fhem.cfg + DbLog/logProxy
Komm vorbei zum FHEM Treffen im Kreis Gütersloh! Das nächste Mal im April 2020.

MAINTAINER: archetype, LuftdatenInfo, monitoring, msgDialog, Nmap, powerMap
ToDo: AVScene, FluxLED

justme1968

mir ist gerade noch ein problem aufgefallen: du baust im define $hash->{PATH} zusammen. beim ersten define bzw. neu start sind die gesetzten attribute noch nicht wieder eingelesen. wenn du den path schon vorbereitest musst du das auch in der AttrFn noch machen.

gruss
  andre
hue, tradfri, alexa-fhem, homebridge-fhem, LightScene, readingsGroup, ...

https://github.com/sponsors/justme-1968

igami

Zitat von: justme1968 am 02 November 2016, 11:26:25
wenn du den path schon vorbereitest musst du das auch in der AttrFn noch machen.
Ist irgendwie untergegangen  ::)
Neue Version im ersten Beitrag.
Pi3 mit fhem.cfg + DbLog/logProxy
Komm vorbei zum FHEM Treffen im Kreis Gütersloh! Das nächste Mal im April 2020.

MAINTAINER: archetype, LuftdatenInfo, monitoring, msgDialog, Nmap, powerMap
ToDo: AVScene, FluxLED

igami

#87
Nachdem ich nun gestern eine FritzBox bekommen und alles umgestellt habe, musste ich nun feststellen, dass diese zwei IP-Addressen mit der selben MAC-Adresse hat

2016-12-05 05:46:05 Nmap vagariNetwork new IP: fritz.box (192.168.178.1)
2016-12-05 05:46:05 Nmap vagariNetwork 34-81-C4-16-28-30_hostname: fritz.box
2016-12-05 05:46:05 Nmap vagariNetwork 34-81-C4-16-28-30_ip: 192.168.178.1
2016-12-05 05:46:05 Nmap vagariNetwork new IP: 192.168.178.201 (192.168.178.201)
2016-12-05 05:46:05 Nmap vagariNetwork 34-81-C4-16-28-30_hostname: 192.168.178.201
2016-12-05 05:46:05 Nmap vagariNetwork 34-81-C4-16-28-30_ip: 192.168.178.201

Wie sollte man mit sowas umgehen? Nur die erste IP Addresse anzeigen? Oder eine Möglichkeit einbauen neben dem hostname auch eine default IP Addresse vorzugeben?

Edit: Habe jetzt einfach mal das excludeHosts Attribut genutzt um die 192.168.178.201zu überspringen.
Pi3 mit fhem.cfg + DbLog/logProxy
Komm vorbei zum FHEM Treffen im Kreis Gütersloh! Das nächste Mal im April 2020.

MAINTAINER: archetype, LuftdatenInfo, monitoring, msgDialog, Nmap, powerMap
ToDo: AVScene, FluxLED

justme1968

wie wäre es einfach im reading alle zugehörigen ip adressen mit komma getrennt aufzuführen?

gruss
  andre
hue, tradfri, alexa-fhem, homebridge-fhem, LightScene, readingsGroup, ...

https://github.com/sponsors/justme-1968

igami

ich glaube es wird einfacher, wenn ich rootrechte als Bedinung voraussetze.

In meinem Fall bekomme ich ja als hostname auch die IP Adresse, sodass es ohne MAC Adresse keine zuordnung der beiden Einträge zueinander gibt.
Pi3 mit fhem.cfg + DbLog/logProxy
Komm vorbei zum FHEM Treffen im Kreis Gütersloh! Das nächste Mal im April 2020.

MAINTAINER: archetype, LuftdatenInfo, monitoring, msgDialog, Nmap, powerMap
ToDo: AVScene, FluxLED