Philipp Hasenfratz: SAFE MODE Restriction bei "verschachteltem"mkdir

Beitrag lesen

Halihallo Tom

beschreib nochmal in kleinen Schritten, was Du tust und was wann die
  Fehlermeldungen sind

So, jetzt nochmals der Versuch über ein Upload-Script, welches ein
Script unter User wwwrun ablegen soll, sodass dann ggf. die
Zugriffsberechtigungen gegeben sind:

1. Upload des "Upload-Scripts" t.php über FTP:

<?
  ini_set('display_errors',true);
  ini_set('error_reporting', E_ALL);
  $fh = fopen("./script.php","r");
  $nh = fopen("./wwwrunscript.php","w");
  while ( $line = fgets($fh) ) {
    fputs($nh,$line);
  }
  fclose($nh);
  fclose($fh);
?>

2. Upload des "script.php" über FTP, welches dann von t.php ein-
   gelesen wird und die Datei wwwrunscript.php unter User wwwrun
   Ablegt.

<?
  ini_set('display_errors',true);
  ini_set('error_reporting', E_ALL);

mkdir('test123', 0755);
  fclose(fopen("test.txt","w"));
?>

3. Starten des "Upload-Scripts" t.php über Browser (es sollte dann
   wwwrunscript.php auf dem Server liegen, welche dann eben unter
   User wwwrun gespeichert ist).

3.1 erster Versuch gescheitert. Siehe auch anderes Posting, über
       FTP hochgeladene Scripte können Dateien/Verzeichnisse _nur_
       lesen. Das Schreiben von wwwrunscript.php ist mit folgender
       Warnung abgebrochen:

Warning: fopen(./wwwrunscript.php): failed to open stream: Permission denied in /home/test.ch/ftp/www/t.php on line 5

Warning: fputs(): supplied argument is not a valid stream resource in /home/test.ch/ftp/www/t.php on line 7

4. Ich werde also die Permissions von "www" erhöhen auf 0777 (full-
   access)

4.1 Nochmaliges starten von t.php, jetzt sollte wwwrunscript.php
    erstellt werden können:

OK. Script lief ohne Fehler. wwwrunscript.php wurde erstellt,
    hat richtigen Inhalt (logischerweise denselben wie script.php,
    welches per FTP hochgeladen wurde). wwwrunscript.php sollte
    jetzt also unter User wwwrun laufen.

5. Jetzt sollte ich das neu generierte wwwrunscript.php über Browser
   starten können und das Verzeichnis und die Datei sollte angelegt
   werden können, richtig?

Mal sehen: Ich starte also den Browser und tippe
   www.test.ch/wwwrunscript.php ein. Negativ, folgende Ausgabe:

Warning: mkdir(): SAFE MODE Restriction in effect. The script whose uid is 30 is not allowed to access /home/test.ch/ftp/www owned by uid 20191 in /home/test.ch/ftp/www/wwwrunscript.php on line 5

Warning: fopen(): SAFE MODE Restriction in effect. The script whose uid is 30 is not allowed to access /home/test.ch/ftp/www owned by uid 20191 in /home/test.ch/ftp/www/wwwrunscript.php on line 6

Warning: fopen(test.txt): failed to open stream: No such file or directory in /home/test.ch/ftp/www/wwwrunscript.php on line 6

Warning: fclose(): supplied argument is not a valid stream resource in /home/test.ch/ftp/www/wwwrunscript.php on line 6

Fazit: Weder Verzeichnis noch Datei konnte angelegt werden. Jetzt
   kommt jedoch nicht mehr "Permission denied" (wie beim Test von
   gestern, s. anderes Posting), sondern "SAFE MODE Restriction in
   effect".

Hm. Ich werde nochmals einen anderen Test durchführen und komme
dann nochmals auch euch/dich zu... :-)

Viele Grüsse

Philipp

--
The only program that runs perfectly every time, is a virus.