Raspberry Pi OS Restart

Begonnen von klaus.schauer, 02 Januar 2014, 12:47:05

Vorheriges Thema - Nächstes Thema

rudolfkoenig

chmod aendert die Berechtigung fuer die Ausfuehrung eines Programms, d.h. dein notify wuerde (so es funktionieren wuerde) kein reboot durchfuehren, sondern nur den Zugang regeln. Das klappt nicht, weil /sbin/shutdown nicht dem Benutzer fhem gehoert, daher die Fehlermeldung.

Was sinvoller waere: als root das chmod einmalig im terminal ausfuehren, und in der notify shutdown per "/sbin/shutdown" (ohne {system();;} ausfuehren.

Wernieman

Nur .. warum willst Du Deinen Pi per Weboberfläche "einfach" restarten können? Normalerweise versucht man bei Problemen diese zu finden/zu lösen. Ein Restart verschiebt diese nur ... und vor allem gehen viele Infos über die Probleme verlohren, so das man sie schlechte rlösen kann.

Auch wenn es jetzt "hochnäsig" klingt: reboot ist "die Windows Lösung"
- Bitte um Input für Output
- When there is a Shell, there is a Way
- Wann war Dein letztes Backup?

Wie man Fragen stellt: https://tty1.net/smart-questions_de.html

LHBL2003

Also danke für die Infos, leider habe ich diese jetzt erst gesehen, nachdem ich eine Lösung gefunden habe.

http://www.ueberueck.com/index.php/fhem-hausautomatisierung/fhem-how-to-s/raspberry-aus-fhem-neu-starten

sudo nano /etc/passwd

fhem:x:999:20::/opt/fhem:/bin/true
ändern in...
fhem:x:999:20::/opt/fhem:/bin/bash

sudo nano /etc/sudoers

Hinzufügen:
Defaults        requiretty
Defaults:%dialout        !requiretty
Defaults:fhem        !requiretty

fhem ALL=(ALL) NOPASSWD: ALL


Es gibt dinge im leben die kann man nicht unbedingt korrigieren.
Besonders bei Blackboxen oder Anwendungen die man nicht selbst geschrieben hat und nicht ändern möchte ;)
Ich bin Windows Anwendungsprogrammierer und meine Anwendungen müssen teilweise 24/7 laufen.
Zudem kommt die Wirtschaftlichkeit immer dazu (aufwand / nutzen Faktor) wer das nicht beachtet, sollte kein Unternehmen gründen. ;)

Wernieman

fhem ALL=(ALL) NOPASSWD: ALL

BITTE: Schreibe dieses so NICHT! Damit ist fhem praktisch root ... mit allen negativen Konsequenzen!

Oder lässt Du Deine Windows-Anwendungen unter dem Admin laufen?
- Bitte um Input für Output
- When there is a Shell, there is a Way
- Wann war Dein letztes Backup?

Wie man Fragen stellt: https://tty1.net/smart-questions_de.html

kadettilac89

#19
Zitat von: LHBL2003 am 26 Dezember 2017, 07:58:13
Also danke für die Infos, leider habe ich diese jetzt erst gesehen, nachdem ich eine Lösung gefunden habe.
sudo nano /etc/sudoers

Hinzufügen:
Defaults        requiretty
Defaults:%dialout        !requiretty
Defaults:fhem        !requiretty

fhem ALL=(ALL) NOPASSWD: ALL



das ist die Lösung? Der Eintrag in der sudoers erlaubt dem user fhem ALL (alles) ohne Passwortabfrage mit SUDO auszuführen. Wenn du das bewusst so willst und die Risiken bewusst sind, gerne. Jeder der auf deine Weboberfläche kommt kann mit {system(xxx)} alles als Root ausführen.

Ich würde das einschränken, entweder auf die Lib oder das Script. Für alle die es nachmachen wollen ... Scripts müssen für den fhem-user ausführbar sein.


fhem ALL=(ALL:ALL) NOPASSWD: /usr/sbin/etherwake,/sbin/reboot,/usr/local/bin/apt_update.sh


Auslösen würde es z. B. ein notify. Der Shell-Befehl ist "reboot". Wenn sofort ohne Warten kommt noch ein " -p now" dazu.

def ntf_Reboot notify dy_Reboot:restart {system('sudo reboot');;}


Edit: Never edit this file with a normal text editor! Always use the visudo command instead! .... https://www.digitalocean.com/community/tutorials/how-to-edit-the-sudoers-file-on-ubuntu-and-centos