Und nochmal SAFEMODE ;-)

Bash, Shell, PHP, Python, Perl, CGI
Post Reply
maik
Posts: 82
Joined: 2003-04-14 19:31
 

Und nochmal SAFEMODE ;-)

Post by maik »

Hallo Zusammen,

ich hätte da noch eine SAFEMODE Frage. Wie ich im Forum gesehen habe gab es da ja schon heiße Antworten zu :-)

Ich habe folgenden Fehler:

SAFE MODE Restriction in effect. The script whose uid is 659 is not allowed to access /home/www/web2/html/k1 owned by uid 0

Mein Script liegt in:

/home/www/web2/html/k/script.php

und will auf

/home/www/web2/html/k1/verz1/info.txt

zugreifen!

Ich habe jetzt für jeden Kunden ein Verzeichniss in meinem web2 angelegt k1 ... k9 und jeder Kunde hat zu seinem Verzeichniss FTP Zugangsdaten somit können diese Files direkt dort ablegen. Jetzt brauch ich ein Script welches alle Verzeichnisse durchläuft und die Dateien einließt. Das habe ich soweit auch fertig nur bekomme ich obige Fehlermeldung.

Sehe ich jetzt folgendes richtig?
1. Ich kann den Scriptowner nicht so einstellen das er auf alle k1..k9 Verzeichnisse zugreifen kann, da die owner wegen ftp unterschiedlich sind.

2. Ich kann das Problem nur lösen in dem ich den SafeMode ausschalte, obwohl mir das nicht so lieb ist?

2.1 In php.ini steht bereits safe_mode=off, ich muss also nur noch in die httpd.conf die Zeile -> php_admin_flag safe_mode Off eintragen. Dann ist aber für alle Domains der SafeMode aus. Kann ich den SafeMode auch nur für eine Domain abschalten? Wo finde ich die httpd.conf? Muß ich irgendwas neustarten? wenn ja, wie?

3. Oder gibts ne bessere Lösung als den SafeMode auszuschalten?

So das wärs auch schon, danke schonmal für eure Hilfe!
alexander newald
Posts: 1117
Joined: 2002-09-27 00:54
Location: Hannover
Contact:
 

Re: Und nochmal SAFEMODE ;-)

Post by alexander newald »

SafeMode anlassen und PHP als CGI. Dateien haben dann immer (auch nach upload per PHP) den Owner des Benutzers.
maik
Posts: 82
Joined: 2003-04-14 19:31
 

Re: Und nochmal SAFEMODE ;-)

Post by maik »

Hallo Alexander,

das verstehe ich leider nicht?
php als cgi?

Der Upload der Files erfolg nicht über ein Script sondern über ein FTP Proggi!
arty
Userprojekt
Userprojekt
Posts: 729
Joined: 2002-06-12 10:11
Contact:
 

Re: Und nochmal SAFEMODE ;-)

Post by arty »

Hallo Maik,

lese doch einfach mal das: http://www.rootforum.org/forum/viewtopic.php?t=15322

bye
arty
maik
Posts: 82
Joined: 2003-04-14 19:31
 

Re: Und nochmal SAFEMODE ;-)

Post by maik »

Danke arty jetzt bin ich schlauer. Bleibt aber noch die Frage ob das funktioiert?

Aber kurz was anderes vorweg. Ich will nach einlesen der Datei diese dann auch löschen, jedoch schreibt er mir

unlink() failed (Permission denied)

Ich habe probeweise ein k verzeichniss (k1) mit chown ... den gleichen nutzer zugewiese wie das script um zu testen ob das script sonst läuft und es läuft supie, nur kann das script das file nicht löschen.

Soviel dazu, komme ich mal zurück zum 1. Problem.

Wenn ich PHP als CGI laufen lassen dann:
PHP als CGI läuft hingegen unter dem jeweiligen Benutzerrechten, in /home/user42 als user42.
Problem ist nur ich habe das ganze Projekt unter /home/web2/html/meinscript.php, also Nutzer web2! Jetzt leg ich jedoch für das Projekt Kundenverzeichnisse an und gebe den kunden FTP Zugangsdaten

also /home/web2/html/k1 (für Kunde1: Zugang web2f1 Pass....)

Somit ist der Benutzer web2f1 besitzer des Ordners k1, aber mein Script wird doch dann immernoch als Benutzer web2 laufen (weil html dem Benutzer web2 gehört), der leider keine Rechte in dem Verzeichniss k1 hat, welches web2f1 gehört. Ã?hnlich dem FTP Problem. Der Chef :wink: web2 kann in ein Verzeichniss welches dem Nutzer web2f1 gehört keine Files mehr hochladen, obwohl web2 eigentlich höhergestellt ist.

Wenn ich das richtig sehe ist auch mit PHP als CGI das Problem noch nicht gelöst. Wenn ich den SafeMode ausschalte, könnte ich dann auch die Datei löschen die von web2f1 hochgeladen wurde?

Kann ich für das Script nicht einfach einen Superuser anlegen der das alles darf?
Post Reply