FHEM mit sudo
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"