FHEM mit sudo

Aus FHEMWiki
Version vom 15. Juli 2019, 10:29 Uhr von Otto123 (Diskussion | Beiträge)
(Unterschied) ← Nächstältere Version | Aktuelle Version (Unterschied) | Nächstjüngere Version → (Unterschied)

Auf den meisten Systemen ist die Erweiterung der sudo Rechte gegenüber dem Standard im System durch eine entsprechende Datei im Pfad /etc/sudoers.d/ einfach möglich. Gegenüber der direkten Veränderung der Datei /etc/sudoers sollte dieser Weg immer bevorzugt werden. Für die Bearbeitung der Dateien gibt es einen extra Editor mit Syntaxprüfung: visudo

Vorgehensweise

Mit visudo der als Basis den Editor nano verwendet: Datei anlegen/öffnen und speichern (Dateiname ist frei wählbar):

sudo visudo /etc/sudoers.d/011_fhem-nopasswd
  • Text eingeben (siehe Beispiele)
  • ctrl+o zum speichern
  • ctrl+x zum beenden

Beispiele für den Inhalt

Die erweiterten Rechte gefährden das System! Also so sparsam wie möglich verwenden!

  • fhem darf Computer neu starten und herunterfahren
fhem ALL=(ALL) NOPASSWD: /sbin/reboot, /sbin/shutdown, /sbin/halt
  • fhem darf mplayer mit erhöhten Rechten nutzen
fhem ALL=(ALL) NOPASSWD: /usr/bin/mplayer

Die Pfad/Datei Angabe kann um Parameter erweitert und so beliebig fein gestaltet werden:

/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 in der sudoers Datei eingetragenen Schema entsprechen, das Beispiel ist so direkt in der FHEM Kommandzeile ausführbar:

"sudo /usr/sbin/service apache2 reload"