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
Hallo Stephan,
im Terminal
sudo visudo
eingeben ud dann eine Zeile mit
fhem ALL=(ALL) NOPASSWD: /usr/bin/nmap
einfügen.
VG Sebastian
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
ZitatBitte nicht fhem für alles zum sudo machen, die dünnen Bretter sind gefährlich!
Nö, nur für nmap ;)
VG Sebastian
Muss ich für die Verwendung von sudoers.d die include-Zeile in sudoers einkommentieren, oder funktioniert das mit dem #?
Das funktioniert so wie es ist! Sonst hätte ich es gesagt ;D
https://www.sudo.ws/man/1.8.13/sudoers.man.html
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?
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....
ok ... habe ich jetzt genau so gemacht.
jetzt steht im Log, dass sudo ein Passwort braucht ...
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 :)
Gibt es nicht ein inoffizielles Modul für nmap? Mir war mal so.
Wusst ich es doch
https://forum.fhem.de/index.php/topic,57804.0.html
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 :)
ja, natürlich
Das System ist ein Cubietruck mit Debian
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"
Sorry muss ich übersehen haben. :-[
Aber nochmal meine zweite Vermutung? Du rufst ja nmap sicher mit Parametern auf, also gilt diese Zeile:
/usr/sbin/service * -> für alle Parameter
Du musst also die Zeile von /usr/bin/nmap nach /usr/bin/nmap * ändern
Hast Du das probiert?
also ich bekomme es bei mir mit MAC-Adressen nicht zum laufen.
Vielleicht kann mir jemand mal seine beiden sudoers-Dateien zuschicken, bei dem das wirklich läuft...
Zitat von: sylvester am 16 September 2018, 13:00:57
jetzt steht im Log, dass sudo ein Passwort braucht ...
Bitte mal die Logzeile posten.
Läuft dein FHEM unter dem Benutzer fhem?
Hast du mal versucht nmap per Konsole auszuführen?
Also Nmap ohne das Attribut sudo=1 funktioniert problemlos.
Nmap (LANmap) - sudo password required
grrrr .... Fehler gefunden
in /etc/hosts war der falsche Hostname eingetragen