IT-OKTAI: exec

Hallo,

Ich habe ein PHP Script und ich kann zb

<?php
$output = shell_exec('ls -lart');
echo "<pre>$output</pre>";
?>

ohne Prob ausführen, aber

<?php
$output = shell_exec('mkdir /home/abc/test');
echo "<pre>$output</pre>";
?>

macht er nicht.

Warum?
IT-OKTAI

  1. Hi

    aber

    <?php
    $output = shell_exec('mkdir /home/abc/test');
    echo "<pre>$output</pre>";
    ?>

    macht er nicht.

    Was heißt das?
    Könnte es an fehlenden Berechtigungen liegen?

    off:PP

    --
    "You know that place between sleep and awake, the place where you can still remember dreaming?" (Tinkerbell)
    1. Könnte es an fehlenden Berechtigungen liegen?

      Hab ich mir auch schon gedacht, aber ich habe die rechte auf 775 oder auch schon 777 gehabt und chwon root
      oder was muss ich machen?

      1. Hi!

        Könnte es an fehlenden Berechtigungen liegen?
        Hab ich mir auch schon gedacht, aber ich habe die rechte auf 775 oder auch schon 777 gehabt und chwon root
        oder was muss ich machen?

        Unter welchem Benutzer läuft Dein PHP-Script?

        off:PP

        --
        "You know that place between sleep and awake, the place where you can still remember dreaming?" (Tinkerbell)
        1. Unter welchem Benutzer läuft Dein PHP-Script?

          -rwxr-xr-x  1 root   root      834 2009-01-22 14:29 meinscript.php

          IT-OKTAI

          1. kann mir mal bitte jmd das Zucken am Auge nehmen?

            1. Das Forum ist echt verdammt schlecht geworden!

              1. Hi!

                Das Forum ist echt verdammt schlecht geworden!

                Was meinst Du konkret?

                off:PP

                --
                "You know that place between sleep and awake, the place where you can still remember dreaming?" (Tinkerbell)
          2. Hallo.

            -rwxr-xr-x  1 root   root      834 2009-01-22 14:29 meinscript.php

            Das ist die Ausgabe von ls -l. Darin steht der Besitzer der Datei.
            Die Frage war aber, unter welchem Benutzer dein Script läuft. Das ist normalerweise der Benutzer des HTTP-Servers (z.B. www-data für Apache unter Debian). Beispielsweise über shell_exec('whoami'); kannst du herausfinden, wie er bei dir heißt.

            Dieser Benutzer muss dann das Recht haben, im gewünschten Verzeichnis ein neues zu machen.

            Servus,
            Flo

            1. whoami: nobody!
              und jetzt?

              1. whoami: nobody!
                und jetzt?

                Also ich bastle ein Verwaltungstool und befinde mich in /opt/lampp/htdocs/test.php und möchte alle Rechte haben um in /home/xyz/ alles anstellen zu können wie wenn ich auf der Konsole bin.
                Man ist Linux kompliziert!
                Ich dachte ich rotz das Script mal in ner Stunde hin und jetzt ist schon wieder VIER UHR!!!! Mannn ey...

                IT-OKTAI

              2. Hallo.

                whoami: nobody!
                und jetzt?

                Jetzt gibst du entweder dem Benutzer nobody die Schreibrechte für das Verzeichnis, in dem du ein neues machen willst, oder machst dieses Verzeichnis für alle schreibar.

                Servus,
                Flo

  2. 你好 IT,

    ohne Prob ausführen, aber

    <?php
    $output = shell_exec('mkdir /home/abc/test');
    echo "<pre>$output</pre>";
    ?>

    macht er nicht.

    Wie kommst du darauf? Keine Ausgabe? Oder eine Fehlermeldung? Wenn ja, welche? Existiert /home/abc/test nach dem ausführen?

    Mal abgesehen davon, dass du den vollständigen Pfad zu mkdir angeben solltest (meistens /bin/mkdir), gibt mkdir auch keine Meldung raus, wenn es erfolgreich war.

    再见,
     克里斯蒂安

    --
    http://wwwtech.de/
    WWWTech.de | Wayne Revived
    <sasaa> frauen sind viel verpeilter als maenner