Per PHP WOL ausführen -> Per PHP syno task ausführen

  • Ab sofort steht euch hier im Forum die neue Add-on Verwaltung zur Verfügung – eine zentrale Plattform für alles rund um Erweiterungen und Add-ons für den DSM.

    Damit haben wir einen Ort, an dem Lösungen von Nutzern mit der Community geteilt werden können. Über die Team Funktion können Projekte auch gemeinsam gepflegt werden.

    Was die Add-on Verwaltung kann und wie es funktioniert findet Ihr hier

    Hier geht es zu den Add-ons

maalik

Benutzer
Registriert
05. Feb. 2016
Beiträge
709
Reaktionspunkte
11
Punkte
38
Hallo,

ich würde bei meiner Syno gerne eine PHP-Datei (natürlich mit htuser gesichert) erstellen, die mir ein WOL Paket an mein PC schicken soll.
Bisher läuft das über einen Raspberry, den ich aber gerne abschalten will.

Per Syno Task geht es ja folgendermaßen:

/usr/syno/sbin/synonet --wake <mac>

Dieses wird auch per root ausgeführt. In PHP den shell_exec als root ausführen geht ja aber meines Wissens nach nicht.

Man müsste also den Syno Task mittels PHP ausführen.

Jemand eine Idee, wie ich das am besten bewerkstellige? Will es nicht über die DSM GUI machen, das ist aufm Handy immer so umständlich.

LG
 
Hast du ggfs. noch mehr Dienste auf dem Raspi laufen, die du umziehen willst? Dann würde sich vielleicht eine schlanke ubuntu-server VM auf der DS eignen, die diese und andere Aufgaben übernimmt. Dann hast du keine Probleme mit den Synology Eigenheiten und hast einen neuen Kernel.
Bei PHP Programmierung an sich kann ich leider nicht dienen. Nur für mich zum Verständnis: Du startest ein PHP Script auf dem NAS als User "PHP", welches dann das WOL Kommando als root absetzen soll?
Wie hast du das auf dem Raspi umgesetzt?
 
Die Aufgabe ist prinzipiell nicht trivial, weil Linux - egal ob jetzt DSM oder Ubuntu - viele Sicherheitsmechanismen hat, die so etwas gerade verhindern sollen. Ganz gute Zusammenfassung hier: https://gist.github.com/themanyone/...a0318#how-to-make-a-script-always-run-as-root

Ich würde es daher mit einem Workaround lösen: Lass im Aufgabenplaner zyklisch ein Skript als root laufen, das eine bestimmte Datei abfragt. Diese legst Du durch ein PHP-Skript an und das zyklische Skript kann dann beim Auffinden der Datei den WOL ausführen und die Datei wieder löschen. So vermeidest du jegliche Trickserei mit den Benutzerrechten.
 

Additional post fields

 

Kaffeautomat

Wenn du das Forum hilfreich findest oder uns unterstützen möchtest, dann gib uns doch einfach einen Kaffee aus.

Als Dankeschön schalten wir deinen Account werbefrei.

:coffee:

Hier gehts zum Kaffeeautomat