nmap als root für MAC-Adressen

Begonnen von sylvester, 15 September 2018, 12:11:27

Vorheriges Thema - Nächstes Thema

sylvester

Hallo zusammen,

ich würde bei mir gerne die Devices in NMAP über die MAC-Adresse erkennen.Grundsätzlich funktioniert nmap bei mir in FHEM.
Ich habe also das Attribut DevAlias entsprechend geändert. Dann habe ich auch schon herausgefunden, dass ich das Attribut sudo auf 1 setzen muss.
Ich schaffe es aber leider nicht die Datei sudoers bzw. eine Datei in sudoers.d entsprechend zu ändern bzw. zu erstellen.
Und so bekomme ich aktuell bei einem StatusRequest immer einen Abbruch (aborted).

Kann mir da jemand helfen bzw. einen Tipp geben?

Vielen Dank und Gruß

Stephan

binford6000

Hallo Stephan,
im Terminal
sudo visudo
eingeben ud dann eine Zeile mit
fhem ALL=(ALL) NOPASSWD: /usr/bin/nmap
einfügen.

VG Sebastian


Otto123

#2
Moin,

alle aktuellen System unterstützen include sudoers.d
So sieht die Datei beim Pi für Pi aus:
sudo cat /etc/sudoers.d/010_pi-nopasswd
pi ALL=(ALL) NOPASSWD: ALL

so mach ich das, als Beispiel :)
#!/bin/bash
# ergänze eine Datei zum sudoers Script Verzeichnis /etc/sudoers.d/
File="011_fhem-nopasswd"
echo "fhem ALL=(ALL) NOPASSWD: /sbin/reboot, /sbin/shutdown, /sbin/halt" >/etc/sudoers.d/$File
chmod 0440 /etc/sudoers.d/$File


Bitte nicht fhem für alles zum sudo machen, die dünnen Bretter sind gefährlich!

Gruß Otto
Viele Grüße aus Leipzig  ⇉  nächster Stammtisch an der Lindennaundorfer Mühle
RaspberryPi B B+ B2 B3 B3+ ZeroW,HMLAN,HMUART,Homematic,Fritz!Box 7590,WRT3200ACS-OpenWrt,Sonos,VU+,Arduino nano,ESP8266,MQTT,Zigbee,deconz

binford6000

ZitatBitte nicht fhem für alles zum sudo machen, die dünnen Bretter sind gefährlich!
Nö, nur für nmap  ;)

VG Sebastian

sylvester

Muss ich für die Verwendung von sudoers.d die include-Zeile in sudoers einkommentieren, oder funktioniert das mit dem #?

Otto123

Viele Grüße aus Leipzig  ⇉  nächster Stammtisch an der Lindennaundorfer Mühle
RaspberryPi B B+ B2 B3 B3+ ZeroW,HMLAN,HMUART,Homematic,Fritz!Box 7590,WRT3200ACS-OpenWrt,Sonos,VU+,Arduino nano,ESP8266,MQTT,Zigbee,deconz

sylvester

Mhhh, dann bin ich zu doof.

Also das ist meine sudoers-Datei:


#
# 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: /usr/bin/nmap

# Allow members of group sudo to execute any command
%sudo ALL=(ALL:ALL) ALL

# See sudoers(5) for more information on "#include" directives:

#includedir /etc/sudoers.d



Und dann habe ich noch eine Datei mit folgendem Inhalt im Ordner sudoers.d:



#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


Findet jemand den Fehler?

Otto123

#7
Ob man das an zwei Stellen machen sollte/darf weiß ich nicht.
ZitatUnd dann habe ich noch eine Datei mit folgendem Inhalt im Ordner sudoers.d:
Ob man dort Kommentar Zeilen einfügen darf weiß ich nicht.
Hast Du die Datei mit den richtigen Rechten versehen?
chmod 0440

Ich hätte die sudoers Datei gelassen wie sie ist. Und dazu folgendes im Terminal gemacht:
File="011_fhem-nopasswd"
echo "fhem ALL=(ALL) NOPASSWD: /usr/bin/nmap" >/etc/sudoers.d/$File
chmod 0440 /etc/sudoers.d/$File


Falls nmap wirklich dort liegt -> /usr/bin/nmap und durch den user fhem ausführbar ist....
Viele Grüße aus Leipzig  ⇉  nächster Stammtisch an der Lindennaundorfer Mühle
RaspberryPi B B+ B2 B3 B3+ ZeroW,HMLAN,HMUART,Homematic,Fritz!Box 7590,WRT3200ACS-OpenWrt,Sonos,VU+,Arduino nano,ESP8266,MQTT,Zigbee,deconz

sylvester

ok ... habe ich jetzt genau so gemacht.
jetzt steht im Log, dass sudo ein Passwort braucht ...

Otto123

Was hast Du für ein System? Es gibt Systeme die wollen einmalig das Passwort. Ich weiß ad Hoc nicht wie man das ausschaltet ohne das Passwort einmal zu setzen. Geht aber irgendwie. Musst Du mal etwas suchen, oder hoffen es schreibt einer :)
Viele Grüße aus Leipzig  ⇉  nächster Stammtisch an der Lindennaundorfer Mühle
RaspberryPi B B+ B2 B3 B3+ ZeroW,HMLAN,HMUART,Homematic,Fritz!Box 7590,WRT3200ACS-OpenWrt,Sonos,VU+,Arduino nano,ESP8266,MQTT,Zigbee,deconz

CoolTux

Gibt es nicht ein inoffizielles Modul für nmap? Mir war mal so.
Du musst nicht wissen wie es geht! Du musst nur wissen wo es steht, wie es geht.
Support me to buy new test hardware for development: https://www.paypal.com/paypalme/MOldenburg
My FHEM Git: https://git.cooltux.net/FHEM/
Das TuxNet Wiki:
https://www.cooltux.net

CoolTux

Du musst nicht wissen wie es geht! Du musst nur wissen wo es steht, wie es geht.
Support me to buy new test hardware for development: https://www.paypal.com/paypalme/MOldenburg
My FHEM Git: https://git.cooltux.net/FHEM/
Das TuxNet Wiki:
https://www.cooltux.net

Otto123

Zitat von: CoolTux am 16 September 2018, 14:10:53
Wusst ich es doch

https://forum.fhem.de/index.php/topic,57804.0.html
ZitatGrundsätzlich funktioniert nmap bei mir in FHEM.
Ich war davon ausgegangen das er genau das einsetzt :)
Viele Grüße aus Leipzig  ⇉  nächster Stammtisch an der Lindennaundorfer Mühle
RaspberryPi B B+ B2 B3 B3+ ZeroW,HMLAN,HMUART,Homematic,Fritz!Box 7590,WRT3200ACS-OpenWrt,Sonos,VU+,Arduino nano,ESP8266,MQTT,Zigbee,deconz

sylvester

#13
ja, natürlich


Das System ist ein Cubietruck mit Debian

Otto123

Nochmal die Frage: Welches System?

Hinweis: Der Befehl beim Aufruf muss dem in der sudoers.d entsprechen!
Also sudo /usr/bin/nmap

ZitatInhalt der sudoers Datei
Die durch Komma getrennten Werte in der Datei haben folgende Bedeutung und benötigen immer den vollen Pfad!

/usr/sbin -> für alles im Verzeichnis
/usr/sbin/service * -> für alle Parameter
/usr/sbin/service apache2 * -> für alle weiteren Parameter
/usr/sbin/service apache2 reload -> genau nur hierfür
Der Aufruf in FHEM muss dann genau dem Schema entsprechen:
"sudo /usr/sbin/service apache2 reload"
Viele Grüße aus Leipzig  ⇉  nächster Stammtisch an der Lindennaundorfer Mühle
RaspberryPi B B+ B2 B3 B3+ ZeroW,HMLAN,HMUART,Homematic,Fritz!Box 7590,WRT3200ACS-OpenWrt,Sonos,VU+,Arduino nano,ESP8266,MQTT,Zigbee,deconz