Jump to content

[C#] RED_Brick - Socket als Root binden


Recommended Posts

Hallo zusammen,

 

vielleicht kann mir ja bei meinem Problem jemand helfen.

Ich bin momentan dabei, den RED_Brick in mein Cocktailmaschinen-Projekt zu integrieren: http://barbot-bender.jimdo.com/

Dafür schreibe ich eine Client-Server Anwendung in C#.

Das Problem ist, wenn ich meinen Server über die Grafische Benutzerschnittstelle des Brickviewer starte, bekomme ich, wenn socket.bind() aufgerufen wird, ein Access Denied. Über die Shell startet der Server mit 'sudo mono server.exe' ohne Probleme. Ich suche also nach einer Lösung, den Server mit Root-Rechten aus dem Brickviewer zu starten, da sonst ja einiges an Bequemlichkeit verloren geht und das ja nicht unbedingt der Sinn des RED ist.

 

LG Void

Link zu diesem Kommentar
Share on other sites

Programme werden immer als User tf gestartet. Es gibt keine direkt Option ein Programm als root zu starten.

 

Du versucht wahrscheinlich einen Port < 1024 zu binden. Das benötigt root Rechte. Die einfachste Lösung wäre es einen Port über 1024 zu verwenden, dann brauchst du keine root Rechte mehr.

 

Wenn es unbedingt ein Port < 1024 sein muss, dann kannst du dein Programm aus einem Shell-Skript so als root starten

 

#!/bin/sh
echo tf | sudo -S mono server.exe

 

Dein Programm muss dann als Shell anstatt als C# Programm hochgeladen werden.

Link zu diesem Kommentar
Share on other sites

Join the conversation

You can post now and register later. If you have an account, sign in now to post with your account.

Gast
Reply to this topic...

×   Du hast formatierten Text eingefügt.   Formatierung jetzt entfernen

  Only 75 emoji are allowed.

×   Dein Link wurde automatisch eingebettet.   Einbetten rückgängig machen und als Link darstellen

×   Dein vorheriger Inhalt wurde wiederhergestellt.   Clear editor

×   Du kannst Bilder nicht direkt einfügen. Lade Bilder hoch oder lade sie von einer URL.

×
×
  • Neu erstellen...