PHP - shell_exec problem

Wichtiger Hinweis: Bitte ändert nicht manuell die Schriftfarbe auf schwarz sondern belasst es bei der Standardeinstellung. Somit tragt ihr dazu bei dass euer Text auch bei Verwendung unseren dunklen Forenstils noch lesbar ist!

Tipp: Ihr wollt längere Codeausschnitte oder Logfiles bereitstellen? Benutzt unseren eigenen PasteBin-Dienst Link
  • Heyho,


    habe mir ein kleines Control Panel gebastelt zum Server starten/stopen usw.
    habe jetzt allerdings das Problem das wenn ich den Server starte dieser unter dem User "www-data" gestartet wird und nicht unter dem user "team" der für die gesamten anderen Serverdateien zuständig ist. Woraus sich das Problem ergibt ,dass wenn sich z.b jemand registriert die Spielerdatei vom user "www-data" erstellt wird aber das script keinen Zugriff darauf hat. Wie mache ich es nun also das der Server über den user "team" gestartet wird?


    Hier ein Auszug aus der index.php:


    Ich danke euch im vorraus für eure Hilfe :)
    MFG
    Niklas


    edit: pfäde entfernt

  • Indem du dein HTTP auf den user "team" umstellst. www-data ist ja quasi der "Webspace Nutzer".


    Mein CS:GO Server: 62.75.168.39:27016


    Ich bin so hungrig, dass ich vor lauter Durst nicht weiß, was ich rauchen soll - so müde bin ich!
    Freedom is just another word for 'Nothing left to lose'

  • do.de - Domain-Offensive - Domains für alle und zu super Preisen
  • Also würde es mit ssh2_exec beispielsweise funktionieren? Ich habs jetzt gerade mal mit Sudo getestet in der console geht es ändere ich jetzt aber

    Code
    $pid = shell_exec('/home/*****/******/****/samp03/start.sh start');


    in


    Code
    $pid = shell_exec('sudo -u team /home/*****/******/****/samp03/start.sh start');


    failt es.. woran kann das liegen?

  • Das du "sudo nicht verstanden hast? :D


    versuch mal

    PHP
    $pid = shell_exec('sudo -u team -s /home/*****/******/****/samp03/start.sh start');

    bin mir grad nciht ganz sicher ob das s groß oder kein muss oder ob das eine rolle spielt :D doch das "s" steht für command :D


    Grex: muss das s groß oder klein? :D

  • mhm wenn ich den Befehl wie ich ihn geschrieben habe normal in der shell eingebe funzt es aber ^^ deswegen hatte ich mich gewundert :> na gut probiere ich nachher mal aus :) und ob das klein oder groß muss guck ich mir mal aufer man page an ;)


    EDIT:
    Habe jetzt das ganze mal in der Shell als www-data ausprobiert rausgekommen ist folgendes:

    Code
    tita:~# su www-data
    \h:\w$ sudo -u team -s /home/*******/samp03/start.sh start
    [sudo] password for www-data:


    ich denke das dass gleiche passiert wenn man jetzt im panel auf starten drückt und das es deswegen failt... wie verhindere ich also diese passwort abfrage? Ich habe etwas über die sudoers datei gelesen allerdings kapiere ich den syntax nicht.. bzw. was ich dort eintragen muss und finde auch nichts wirklich gebräuchliches über google :/


    Edit:
    habe jetzt die sudoers datei mit nem tut geändert aber es funktioniert immernoch nicht, er will immernoch ein pw haben -.-


    2 Mal editiert, zuletzt von Spider ()