Webserver mit PHP oder Perl steuern

Einklappen
X
 
  • Filter
  • Zeit
  • Anzeigen
Alles löschen
neue Beiträge

  • Webserver mit PHP oder Perl steuern

    Guten Tag,

    ich möchte gerne den Inhalt eines Verzeichnisses von dem Verzeichnis '/root/vorlage/' in das Verzeichnis '/srv/www/htdocs/web33/html/shop/' kopieren.
    und habe folgendes Script erstellt :
    PHP-Code:
    <? 
    system("cp /root/vorlage/* -R /srv/www/htdocs/".$_GET['kunde']."/html/shop/"); 
    ?>
    und rufe es mit folgendem Sytax von einem anderem angelegtem Kundenverzeichnis z.B. web32 auf :
    http://xyz.de/shopcopy.php?kunde=web33

    Aber es passiert nichts im Verzeichnis /shop sind keine Dateien.
    Was mache ich falsch ? safemod ist off .

    Für eine Hilfestellung wäre super dankbar !

    Gruss Mediateam

  • #2
    Als was für ein benutzer läuft der Webserver?
    Als was für ein Benutzer läuft PHP?

    Bei meinem Hoster läuft PHP unter meiner Userid, so dass ich als User 32 wohl nicht in ein Verzeichnis schreiben darf, dass User 33 gehört? (Vermutung)

    Was passiert, wenn du das cp direkt auf der Konsole absetzt, nachdem du dich als der Benutzer angemeldet hast, der das Skrip ausführt?
    Ich denke, also bin ich. - Einige sind trotzdem...

    Kommentar


    • #3
      Hallo,

      ich habe Rootzugriff auf den Server, was für Rechte muss ich den Benutzern zuteilen, Der Benutzer, in dem das Script ausgeführt wird
      ist nicht wirklich vorhanden, sondern habe ich speziell für diese geschichte angelegt, leider kenne ich mich nicht wirklich aus, ist auch nicht mein Server sondern ich habe nur für diese Geschichte den Zugriff bekommen um evtl. Änderungen vor zu nehmen.

      Ich würde auch eine Batch-Datei anlegen und diese über PHP ausführen es soll nur automatisiert werden ich sagte dem Verwalter es sole dem benutzer einen Rootzugriff gewähren damit es über der /HTML Ebene ausgeführt werden kann.

      Ist den der Syntax richtig, nicht dass ich nach Rechtsvergabefehler suche und der Syntax ist falsch.

      Danke für Deine Hilfe :-)

      Gruss mediateam

      Kommentar


      • #4
        in einer separaten datei testen, ob sowas wie
        PHP-Code:
        echo system('ls');
        //oder
        echo exec('ls'); 
        überhaupt läuft.

        des weiteren den inhalt von $_GET['kunde'] überprüfen.

        wenn beides läuft, de cp-befehl erstmal über eine shell (ssh/telnet?) testen.

        Kommentar


        • #5
          habe von webservern so gut wie keine Ahnung,
          aber wenn php als php-cgi auf dem server läuft dann dürfte dein vorhaben nicht möglich sein.
          (nur geraten)
          mfg
          marc75

          <Platz für anderes>

          Kommentar


          • #6
            warum?

            Kommentar


            • #7
              Also ich habe das mal mit
              PHP-Code:
              <?
              echo exec('ls'); ->
              ?>
              und bekomme folgendes raus :
              shopcopy2.php
              und
              PHP-Code:
              <?
              echo system('ls'); ->
              ?>
              und bekomme folgendes raus :
              cgi-bin index.html list.php phpinfo.php shop shopcopy.php shopcopy2.php shopcopy2.php
              Gruss Mediateam

              Kommentar


              • #8
                und weiter?

                Kommentar


                • #9
                  Ich versuche es nochmal zu hause, denn das mit dem einsetzen der Variabel 'kunde' scheint dann nicht geklappt zu haben:
                  PHP-Code:
                  ... ".$_GET['kunde']." ... 
                  Warum listet er mir eigentlich bei 'exec' nur eine Datei auf und warum nur diese und auch keine Verzeichnisse ?

                  Gruss und Danke Mediateam

                  Kommentar


                  • #10
                    o.k. Super scheint zu funktionieren, zumindest mit dem List Befehl.

                    Peinlich ....... aber trotzdem super danke !

                    Kommentar


                    • #11
                      Fehler doch noch gefunden und zwar geht es um das Verzeichnis.
                      Wenn ich
                      PHP-Code:
                       echo system('ls '); 
                      eingebe, dann komme ich
                      in das Rootverzeichnis von dem Useraccount, aber ich möchte ja Zugriff
                      auf die verzeichnisstruktur oberhalb des Useraccounts.

                      Geht das ?

                      Gruss und Danke Mediateam

                      Kommentar


                      • #12
                        PHP-Code:
                        system("cd /"); // ? 

                        Kommentar

                        Lädt...
                        X