LilyPond auf nem Webserver (→ Sandbox?)

Begonnen von Malte, Montag, 5. Juni 2017, 14:06

« vorheriges - nächstes »

Malte

Hallo allerseits,

ich überlege, für ein ganz kleines Projekt auf nem Webserver ein LilyPond zu installieren, welches u. a. von Besuchern eingegebenen Code übersetzt. Da das ja die Möglichkeit einer Scheme-,,Injection" bedeutet, frage ich mich, wie ich Schreibrechte dieses LilyPond auf einzelne Dateien, nämlich die .ps- und .pdf-Ausgabe beschränken kann. Ich meine mal, irgendwo was von ner Sandbox gelesen zu haben, finde es aber gerade im Usage-Manual nicht ...

Hat vielleicht jemand schon mal sowas gemacht, weiß wo ich die nötigen Informationen finde, oder kann mir vielleicht noch nen anderen Rat geben? (z. B. Rechte eines ausgeführten Programms in PHP oder so beschränken? Hab von PHP u. ä. so gut wie gar keine Ahnung, weiß auch nicht, ob das das richtige Werkzeug wäre)

Viele Grüße
Malte

Edit: Hab das jetzt mal unter ,,Installation" gepackt, weils irgendwie so ganz grundlegende Dinge, bevor das Programm überhaupt läuft, behandelt ... vielleicht paßts woanders besser, aber im Moment ist dieses Forum ja auch noch sehr klein ;)

Manuela

Hallo Malte,

ich weiß nicht, ob dir das hilft, aber Lilybin kennst du doch sicherlich? Vll. kann dir der Betreiber Tipps geben. Für Wikis gibt es das Score-Plugin, um das zum Laufen zu bringen, brauchst du allerdings einen Rootserver. Wird aber wahrscheinlich nicht das sein, was du dir vorstellst.
Danke für eure Hilfe
viele Grüße
-- Manuela

Malte

#2
LilyBin kenn ich, ja. Deren Code liegt bei GitHub, da scheint Docker verwendet zu werden, welches root-Rechte braucht. Diese Rechte hab ich aber auf meinem Webspace nicht und ehrlich gesagt glaub ich, daß es eine einfachere Lösung geben müßte. Wie gesagt, ich dachte, ich hätte mal was gelesen in der LilyPond-Doku, finds aber nicht ...

Edit: Grad abgeschickt, kam mir der Gedanke, mal in den Programmoptionen zu schauen, statt einfach die Doku nach ,,sandbox" zu durchsuchen. Was ich gesucht hab, nennt sich hier ,,jail" und ist anscheinend in verschiedenen Ausführungen per --jail oder -dsafe beim LilyPond-Aufruf zu erreichen. Details muß ich jetzt mal nachlesen.

2. Edit: Für --jail bräuchte ich auch root-Rechte, aber -dsafe schaut so aus, als könnte es ausreichen.

3. Edit: nehm ich jetzt etwa nach 20 Jahren im Süden Deutschlands doch noch die Sprache an? ,,ausschauen", wer sagt denn sowas? :D

Manuela

Ich habe mich nicht so ausführlich damit beschäftigt und außerdem von Linux nicht viel Ahnung, daher die folgende Aussage bitte mit Vorsicht genießen.

So wie ich das bei meinem kurzzeitigen Versuch, die Score-Extension auf meinem Wiki zum Laufen zu bringen, verstanden habe, benötigt man immer root-Rechte auf dem Webserver, wenn man ein kompiliertes Programm laufen lassen will. Und ein Root-Server ist deutlich teurer als normaler Webspace plus Domain.
Danke für eure Hilfe
viele Grüße
-- Manuela

Malte

#4
Hm ... ich glaub eigentlich nicht, daß das so ist. Ich weiß grad nicht, mit welchen Rechten der Webserver läuft, aber warum sollte er nicht ne Datei ausführen können, die irgendwo innerhalb der Verzeichnisse liegt, auf die er zugreifen kann? Und um LilyPond zu installieren und laufen zu lassen, brauch ich keine root-Rechte. Ich probier das nachher mal in nem geschützten Verzeichnis.

Manuela

Zitat von: Malte am Dienstag,  6. Juni 2017, 10:27
Hm ... ich glaub eigentlich nicht, daß das so ist. Ich weiß grad nicht, mit welchen Rechten der Webserver läuft, aber warum sollte er nicht ne Datei ausführen können, die irgendwo innerhalb der Verzeichnisse liegt, auf die er zugreifen kann?

Vielleicht hängt das vom Provider ab, meiner lässt das jedenfalls aus Sicherheitsgründen nicht zu. Oder weil er doch lieber einen Rootserver verkauft als simplen Webspace  ;)
Danke für eure Hilfe
viele Grüße
-- Manuela

erich

Zitat von: Manuela am Montag,  5. Juni 2017, 22:07
So wie ich das bei meinem kurzzeitigen Versuch, die Score-Extension auf meinem Wiki zum Laufen zu bringen, verstanden habe, benötigt man immer root-Rechte auf dem Webserver, wenn man ein kompiliertes Programm laufen lassen will.

Hallo Manuela,

welches Wiki benutzt du? Haben da Fremde das Recht zu kommentieren?

Grüß Dich
Erich

Manuela

Zitat von: erich am Samstag, 10. Juni 2017, 22:19

welches Wiki benutzt du? Haben da Fremde das Recht zu kommentieren?


Hallo Erich,

den Link zu meinem Wiki findest du in jedem meiner Beiträge  ;) unterhalb meines Avatarbildchens, das Weltkugel-Icon.

Momentan dürfen nicht angemeldete User einige ausgewählte Beiträge ansehen, registrierte User dürfen alles lesen. Ich kann weiters einem User auch die Berechtigung zum Schreiben erteilen. In letzter Zeit habe ich das Wiki etwas vernachlässigt, ich habe schon wieder ein paar Ideen, was ich rein schreiben könnte.

Im Anhang findest du eine Datei mit einem Usernamen und passwort. Als Anhang deswegen, damit es nur im Forum registrierte User lesen können. Falls du Lust hast, kannst du stöbern  ;)

Danke für eure Hilfe
viele Grüße
-- Manuela

Manuela

Guten Morgen Malte, hast du Fortschritte gemacht?

Ich habe inzwischen die Score-Erweiterung auf einer Wiki-Installation zum Laufen gebracht, natürlich nur für den Hausgebrauch, nicht übers Web erreichbar. Allerdings funktioniert es nur teilweise (Variablendeklarationen funktionieren nicht z.B.), für Windows gibt es nicht wirklich gute, verständliche Anleitungen, das ist ein Stiefkind, wofür ich natürlich auch Verständnis habe.

Danke für eure Hilfe
viele Grüße
-- Manuela

Malte

Ich weiß ehrlich gesagt gar nicht mehr, was ich überhaupt damit vor hatte ... habs jedenfalls anscheinend nicht mehr groß weiterverfolgt.

Malte

#10
Mir ist es wieder eingefallen: Ich wollte eine kleine Seite bauen, auf der ein Nutzer ein Fugenthema eingibt und welche dann mögliche Engführungen auflistet. Das kann ich eigentlich mal noch machen vor Semesterbeginn. Dazu fehlt mir allerdings noch die Kenntnis einer Skriptsprache ...

Da es um so eine einfache Sache geht, könnte ich allerdings auch einfach alle möglichen Sicherheitsprobleme gleich im Input unterbinden, indem ich nur Zahlen, Buchstaben, Komma und Hochkomma zulasse ;) Ok, ganz so einfach ist es nicht, man will ja evtl. noch \tuplet und \breve verwenden, aber schon ziemlich nah dran, denk ich.