[gelöst] Eigens Skript aus OSD ausführen

  • Hallo,


    ich möchte ein Skript aus dem OSD ausführen und hab dazu zum testen in /etc/vdr/plugins/menuorg.xml
    folgendes eingefügt

    Code
    <command name="Wlan neu starten" confirm="yes" execute="/usr/local/bin/wlan.sh" />


    Mit

    Code
    chmod 0777

    und

    Code
    chown -R vdr:vdr /usr/local/bin/wlan.sh

    sollte doch vdr das Skript ausführen dürfen?


    Leider funktioniert es noch nicht. Hat jemand einen Tipp? ;)

    VDR1: Antec New Solution NSK2480 mit Asrock K10N78M Pro | 2GB Ram | GeForce 8200 |AMD Athlon x2 250 | Ferni: Harmony 200 + IRF Media W-01RN | Display: Futaba mdm166a | Terratec Cinergy 1200 & Skystar 2 DVB-S | yaVDR 0.6.1 Kernel 3.19
    VDR2: ESPRIMO E5625 | 4GB Ram | GeForce 8200 | AMD Sempron LE-1250 2,2GHz | Ferni: 0471:20cc | yaVDR 0.6.1 Kernel 3.13

    VDR3: ESPRIMO E720 | 8GB Ram | GeForce GT730 2GB | INTEL PENTIUM Core G3220 CPU 2x 3,0GHz | Ferni: 0471:20cc | Sundtek DVB-C | yaVDR 0.6.1 Kernel 4.4 / LibreELEC 8.1.2 Dualboot

    Einmal editiert, zuletzt von atgis ()

  • Was steht im Skript? Hat der User vdr die nötigen Rechte das zu tun, was da ausgeführt werden soll?

    yaVDR-Dokumentation (Ceterum censeo enchiridia esse lectitanda.)

  • Eigentlich was, was sonst nur sudo darf:


    Code
    ifdown wlan0
    sleep 2
    ifup wlan0

    VDR1: Antec New Solution NSK2480 mit Asrock K10N78M Pro | 2GB Ram | GeForce 8200 |AMD Athlon x2 250 | Ferni: Harmony 200 + IRF Media W-01RN | Display: Futaba mdm166a | Terratec Cinergy 1200 & Skystar 2 DVB-S | yaVDR 0.6.1 Kernel 3.19
    VDR2: ESPRIMO E5625 | 4GB Ram | GeForce 8200 | AMD Sempron LE-1250 2,2GHz | Ferni: 0471:20cc | yaVDR 0.6.1 Kernel 3.13

    VDR3: ESPRIMO E720 | 8GB Ram | GeForce GT730 2GB | INTEL PENTIUM Core G3220 CPU 2x 3,0GHz | Ferni: 0471:20cc | Sundtek DVB-C | yaVDR 0.6.1 Kernel 4.4 / LibreELEC 8.1.2 Dualboot

  • Dann ist die Sache doch klar... da Fehlt die Berechtigung das zu tun.


    Lösungsmöglichkeiten wären

    • ein entsprechender Eintrag in der sudoers http://wiki.ubuntuusers.de/sudo/Konfiguration
    • Das ganze in einen Upstart-Job auzulagern, der dann über ein Signal oder direkt (dann ebenfalls mit einem entsprechenden sudoers Eintrag) aufgerufen wird

    yaVDR-Dokumentation (Ceterum censeo enchiridia esse lectitanda.)

  • Aber auch

    Code
    vdr ALL=NOPASSWD: /usr/local/bin/wlan.sh

    macht den Eintrag im OSD immer noch nicht wirksam ... :O

    VDR1: Antec New Solution NSK2480 mit Asrock K10N78M Pro | 2GB Ram | GeForce 8200 |AMD Athlon x2 250 | Ferni: Harmony 200 + IRF Media W-01RN | Display: Futaba mdm166a | Terratec Cinergy 1200 & Skystar 2 DVB-S | yaVDR 0.6.1 Kernel 3.19
    VDR2: ESPRIMO E5625 | 4GB Ram | GeForce 8200 | AMD Sempron LE-1250 2,2GHz | Ferni: 0471:20cc | yaVDR 0.6.1 Kernel 3.13

    VDR3: ESPRIMO E720 | 8GB Ram | GeForce GT730 2GB | INTEL PENTIUM Core G3220 CPU 2x 3,0GHz | Ferni: 0471:20cc | Sundtek DVB-C | yaVDR 0.6.1 Kernel 4.4 / LibreELEC 8.1.2 Dualboot

  • Ist da jetzt ein sudo davor?

    yaVDR-Dokumentation (Ceterum censeo enchiridia esse lectitanda.)

  • Jetzt ja :) Vielen Dank!

    VDR1: Antec New Solution NSK2480 mit Asrock K10N78M Pro | 2GB Ram | GeForce 8200 |AMD Athlon x2 250 | Ferni: Harmony 200 + IRF Media W-01RN | Display: Futaba mdm166a | Terratec Cinergy 1200 & Skystar 2 DVB-S | yaVDR 0.6.1 Kernel 3.19
    VDR2: ESPRIMO E5625 | 4GB Ram | GeForce 8200 | AMD Sempron LE-1250 2,2GHz | Ferni: 0471:20cc | yaVDR 0.6.1 Kernel 3.13

    VDR3: ESPRIMO E720 | 8GB Ram | GeForce GT730 2GB | INTEL PENTIUM Core G3220 CPU 2x 3,0GHz | Ferni: 0471:20cc | Sundtek DVB-C | yaVDR 0.6.1 Kernel 4.4 / LibreELEC 8.1.2 Dualboot

  • Nur mal aus Prinzip... Das muss an dieser Stelle mal gesagt werden (nicht das sich das jemand abschaut).


    Nen sudo auf nen Shellscript auf das jeder nen Schreibrechte hat... So was macht man aus Prinzip nicht.


    Dem Script nur Schreibrechte für root geben und in der sudoers.d Datei damit
    --
    vdr ALL=NOPASSWD: /usr/local/bin/wlan.sh ""
    --
    die Parameter verbieten.


    cu

  • Nur mal aus Prinzip... Das muss an dieser Stelle mal gesagt werden (nicht das sich das jemand abschaut).


    Bei dem Script hast Du schon sicherheitsbedenken? Benutzt Du einen Firewall und Virenscanner? :wow


    Albert

  • Bei dem Script hast Du schon sicherheitsbedenken?


    Nein das Problem liegt darin:

    Mit

    Code
    chmod 0777


    Damit könnte jeder, der an eine Shell kommt beliebige Befehle hineinschreiben und durch den vdr ausführen lassen. Sowas sollte immer root gehören und nur von root beschreibbar sein.

    yaVDR-Dokumentation (Ceterum censeo enchiridia esse lectitanda.)

  • Damit könnte jeder, der an eine Shell kommt beliebige Befehle hineinschreiben und durch den vdr ausführen lassen.


    Besser isses, aber nur hypothetisch. Selbst wenn jemand den SSH Port scant steht er doch vor die Anmeldung. Hat er einmal den Benutzer und Kennwort, dann ist alles zu spät. Wenn nicht, dann nützt dem doch 0777 herzlich wenig. Einen Gastzugang haben wir nicht. Sehe ich das falsch?


    Albert

  • Angenommen irgendein Dienst der über Netzwerk zugreifbar ist hat ein Problem, so dass man darüber in Dateien schreiben kann, dann wäre es üblicherweise kein grosses Problem, da man dann nur in Dateien schreiben kann, die dem User unter dem der Netzwerkdienst läuft zugreifbar sind (daher der Benutzer vdr für vdr). Wenn man jetzt eine Datei die world writable und ausführbar ist per sudo ausführt, gewährt man hier vielleicht unbewusst einen Rootzugang (unbewusst für eine Masse an Usern die sich ihr Wissen hier aus dem Forum zusammenstoppeln).


    Keine_Ahnung hat lediglich eingeworfen das dies nicht dem "Best Practise" entspricht und ich stimme hier zu. Sicherheit ist so gesehen eher eine Grundhaltung und ein Konzept. Man darf nicht davon ausgehen, das Einbrecher durch die Tür gehen, dementsprechend bringt es nichts die Tür 5fach verriegelt zu haben, aber das Fenster offen stehen zu lassen oder die Wänder nur aus Pappmaché zu bauen. Auf Computer bezogen ist es sehr hilfreich wenn man bestimmte Regeln befolgt die es einem leichter machen, sein System sauber zu halten. Sicher wird keiner einen VDR ohne weiteres ins Internet stellen, nichtsdestotrotz kann man ein paar Grundregeln befolgen sonst kann man gleich alles als root laufen lassen und root ein Standardpasswort geben ...

    VDR User: 87 - LaScala LC14B - LG/Phillipps 6,4" VGA Display | Asrock H61/U3S3 | G630T | 1x 16GB Mobi Mtron 3035 1x WD 750GB 2,5" |1x L4m DVB-S2 Version 5.4

Jetzt mitmachen!

Sie haben noch kein Benutzerkonto auf unserer Seite? Registrieren Sie sich kostenlos und nehmen Sie an unserer Community teil!