Eigene Programme starten im Shell-Account v. Webhosting

  • Ich habe da mal eine Frage, die eventuell besser vom Support beantwortet werden kann.
    Aber vielleicht kann auch ein Inhaber eines der neuen Webhosting-Pakete Klärung schaffen.


    Kann ich mit meinem eingeschränktem SSH-Zugriff auf mein Web-Verzeichnis eigene Binaries hochladen und ausführen?
    Wie würde in dem Fall dann verhindert werden, dass ich solche Dinge wie Gameserver oder eigene Server-Dienste ausführe?
    Habe ich komplett keine Ausführungs-Rechte in meinem Verzeichnis?

  • Ja du kannst eigene Dateien starten und ausführen.
    Auch Binaries, hauptsächlich aber Scripte (PHP, BASH, PYTHON).
    Am starten von irgendwelchen Servern hindern dich aber die Linux-Rechte (priveligierte Ports kannst du nicht öffnen) und ein (ziemlich sicher vorhandenes) Prozess Accounting was deinen Prozess nach einer gewissen Laufzeit/Ressourcennutzung einfach killt.


    Thomas

  • Und eventuell auch eine Sicherheitsfunktion, die Prozesse ohne aktive SSH-Verbindung beendet. Ein "disown" wird also eher nicht klappen… ;)


    Bei eigenen Programmen und Scripten musst Du auch bedenken, dass viele der verlinkten Abhängigkeiten (Libs) auf dem Server nicht vorhanden oder im Chroot nicht verfügbar sein werden.



    MfG Christian

    "Wer nur noch Enten sieht, hat die Kontrolle über seine Server verloren." (Netzentenfund)

  • Wieso denn über den Apache? Es geht doch um den SSH-Zugang.

    Naja, wenn du einen Serverdienst bereit stellen willst brauchst du einen Server, und da du auf der Shell keinen Server laufen lassen kannst musst du irgendeinen anderen Server nutzen der deine (node.js) Programme starten kann. Da bietet sich halt der Webserver an.


    Alternativ könntest du dir vielleicht irgendwas überlegen mit einem node.js-Server der auf einem nicht priveligierten Port horcht und sich regelmäßig selbst aufruft um dauerhaft zu laufen und die Prozesslimits zu umgehen.
    Ich denke aber nicht dass du dich damit bei netcup beliebt machen würdest...


    Thomas

  • Es gibt zu dem Thema Ansätze, die angeblich auf Sharedhosting (auch ohne SSH-Zugang) laufen sollen. Mit SSH-Zugang dagegen müsste doch ein

    Code
    node server.js &

    reichen? Da aber wie gesagt die Frage ob das unterbunden wird. Denn mich unbeliebt machen und es selbst ausprobieren wollte ich der Tat nicht :)

  • Ringelnatz:
    Wahrscheinlich würde dein note.js-Server starten.


    Und nach -wahrscheinlich- so um die 30 Sekunden würde eine Automatik bei Netcup bemerken dass unter deinem Account ein Programm länger als 30 Sekunden läuft und das Programm killen.
    Alternativ kann es sein dass es gekillt wird wenn du dich aus der Shell abmeldest.


    Wies genau ist weiß man nicht, aber du kannst davon ausgehen dass netcup (so wie jeder andere Shared Webhosting Provider) da Vorkehrungen getroffen hat.


    Übrigens hätte ich an deiner Stelle kein Problem damit dass auszuprobieren. Es ist nicht verboten das zu versuchen.
    Ich denke gegen die AGBs verstößt du erst wenn du versuchst die Sicherheitsvorkehrungen (z.B. kein Programm darf länger als 30 sec laufen) auszuhebeln.


    Thomas


    PS: Einen Job mittles '&' in den Hintergrund werfen geht auch - damit ist er aber noch nicht vollständig von deiner Shell-Session abgekoppelt. Ich denke das wird nämlich nicht gehen, sobald du also deine Shell zu machst ist dein Prozess wohl weg.

  • Ich würde vermuten dass in der Chroot-Umgebung die man bei netcup hat keinerlei Libs installiert sind die irgendeinen Netzwerkzugriff möglich machen.
    Und da man wohl -auch in der eigenen chroot-Umgebung- keine Libs reinkopieren kann hat man hier schonmal ein großes Hinderniss.
    Netcup hat sicherlich seine Hausaufgaben gemacht.


    Aber eine offizielle Ansage würde mich natürlich auch interessieren (auch wenn ich die Antwort wohl schon kenne, und vollkommen verstehen kann!).


    Thomas


    PS: Genau für sowas wie du es vorhättest sind übrigens virtuelle Server gedacht. Die kosten auch nicht mehr als Shared Webhosting und da kannst du jeglichen Server laufen lassen den du laufen lassen willst...