• Es freut uns dass du in unser Minecraft Forum gefunden hast. Hier kannst du mit über 130.000 Minecraft Fans über Minecraft diskutieren, Fragen stellen und anderen helfen. In diesem Minecraft Forum kannst du auch nach Teammitgliedern, Administratoren, Moderatoren , Supporter oder Sponsoren suchen. Gerne kannst du im Offtopic Bereich unseres Minecraft Forums auch über nicht Minecraft spezifische Themen reden. Wir hoffen dir gefällt es in unserem Minecraft Forum!

Möglichkeit den User während eines Programms wechseln (Server/Debian)

DJPX

Kuhfänger
Registriert
20 Juli 2015
Beiträge
97
Alter
29
Diamanten
322
Minecraft
IDJPXI
Hallo,
Ich habe folgendes Problem, ich möchte gerne eine jar Datei ausfüheren, die den Benutzer wechseln kann (Der Benuter soll in der jar festgelegt sein).
Der Aufruf sieht so aus
Client sendet Login Daten an Webserver dieser Verarbeitet sie und der User kann dann was hochladen (wird temporär zwischen gespeichert) anschließend wird die jar Datei (über eine PHP Datei) ausgeführt. Die jar Datei soll nun den Benuter wechseln, da der Webserver auf das neue Verzeichnis kein Zugriff hat (und auch nicht erhalten wird) und die Datei in das neue Verzeichnis verschieben.

Ich hoffe jemand kann mir weiter helfen :D

MfG DJPX
 

DZReport

Minecrafter
Registriert
19 Mai 2017
Beiträge
7
Diamanten
250
Hallo @DJPX ,

dir ist bewusst, dass, wenn eine Jar-Datei eines Nutzers hochgeladen und ohne Sandbox-Container / VM ausgeführt wird, dies eine riesen Sicherheitslücke darstellt?
War dies so gemeint?

Ansonsten willst du das die Jar-Datei, welche über PHP aufgerufen wird, eine hochgeladene Datei des Nutzers in einen Ordner verschiebt?
Du kannst den Befehl für das Verschieben mit Sudo (sudo -S) ausführen und dann das Passwort übergeben.
Dieses bitte nur mit Vorsicht machen, mit Sudo werden Root-Rechte zugewiesen, weswegen die Befehle, mit Sudo ausgeführt, jegliche Sachen anstellen können.

Grüße
DZReport
 
Zuletzt bearbeitet:

UnityGaming

Workaholic
Registriert
25 Oktober 2015
Beiträge
527
Alter
26
Diamanten
312
Minecraft
FastFelix771
su DEIN_USER -c "command"

oder mein persönlicher Favorit,

runuser -u DEIN_USER -c "command"

Vor beide Befehle setzt du jeweils sudo und lässt das Passwort aus einer sicheren datei pipen.

<Hier nochmal eine Kopie der oben genannten Risiken einfügen>
Aber das ist ja deine Sache, gewarnt wurdest du bereits...
 

DJPX

Kuhfänger
Registriert
20 Juli 2015
Beiträge
97
Alter
29
Diamanten
322
Minecraft
IDJPXI
Hallo @DJPX ,

dir ist bewusst, dass, wenn eine Jar-Datei eines Nutzers hochgeladen und ohne Sandbox-Container / VM ausgeführt wird, dies eine riesen Sicherheitslücke darstellt?
War dies so gemeint?

Ansonsten willst du das die Jar-Datei, welche über PHP aufgerufen wird, eine hochgeladene Datei des Nutzers in einen Ordner verschiebt?
Du kannst den Befehl für das Verschieben mit Sudo (sudo -S) ausführen und dann das Passwort übergeben.
Dieses bitte nur mit Vorsicht machen, mit Sudo werden Root-Rechte zugewiesen, weswegen die Befehle, mit Sudo ausgeführt, jegliche Sachen anstellen können.

Grüße
DZReport

Das war anderst gemeint der User läd nichts hoch sondern es werden die Logindaten an meine Jar weitergegeben, die dann den Login überprüft und dann in den Ordner verschiebt. Wenn eine Datei ausgeführt werden soll ist ein anderer User verantwortlich der nur Rechte auf diesem Ordner hat und auch sonst nichts weiter machen kann. (Ausfühern von Dateine ist nicht möglich)

Na egal ich habe das Problem schon gelöst, habe aber durch inaktivitat vergessen das der Tread noch besteht. Ich habe es nun so gelöst, dass über sudo user -c Befehl der Befehl ausgeführt wird und in der Sudo file habe ich noch eingetragen, das er nur Dateien verschieben kann.

runuser -u DEIN_USER -c "command"
Das hört sich auch sehr interessant an, ist das einfach nur ein alias oder gibt es auch einen
Unterschied bei den beiden Befehlen.

MfG DJPX
 

UnityGaming

Workaholic
Registriert
25 Oktober 2015
Beiträge
527
Alter
26
Diamanten
312
Minecraft
FastFelix771
Das hört sich auch sehr interessant an, ist das einfach nur ein alias oder gibt es auch einen
Unterschied bei den beiden Befehlen.
Ist kein alias.
Und ich konnte feststellen, dass es weitaus zuverlässiger funktioniert als su, im Bezug auf z.B. Dateiberechtigungen etc.
Das merkt man besonders gut, wenn man z.B. über su einen screen betreten will etc.
 
Oben