PHP Script mkdir ... / rechte ?

Bash, Shell, PHP, Python, Perl, CGI
zero
Posts: 99
Joined: 2002-09-13 08:17
Location: Koblenz

PHP Script mkdir ... / rechte ?

Post by zero »

Hallo Leute,

ich habe ein PHP Script was ein Verzeichniss und eine index.php anlegt.

Nur leider bekomme ich diese Meldung:

Code: Select all

Warning: MkDir failed (Permission denied) in /home/www/web1/html/script/go2.php on line 38

....................................................................


Warning: fopen("Test/index.php","a+") - No such file or directory in /home/www/web1/html/modules/Domainservice/ go2.php on line 46

Test := Verzeichniss name der angelegt werden soll mit der Datei index.php

Muss ich der Datei gewisse Rechte geben, damit sie Verzeichnisse anlegen kann oder ?

Vieleicht hat da einer einen Tipp...
arty
Userprojekt
Userprojekt
Posts: 729
Joined: 2002-06-12 10:11

Re: PHP Script mkdir ... / rechte ?

Post by arty »

Servus,

PHP muss mit den Userrechten laufen, damit in dem Verzeichnis eine Datei oder ein Verzeichnis erstellt werden können.
Nutzt Du PHP als Modul oder als CGI?

bye
arty
zero
Posts: 99
Joined: 2002-09-13 08:17
Location: Koblenz

Re: PHP Script mkdir ... / rechte ?

Post by zero »

Ich meine als Modul...
exchange
Posts: 25
Joined: 2003-01-08 20:48
Location: Erftstadt

selbe Problem

Post by exchange »

Hallo,
möchte auch mit hilfe einer php Datei in einem bestimmten user Verzeichniss etwas ausführen. Habe das Problem, dass das php Script den Apche User nimmt und daher keine Rechte hat (bzw. wenig). Möchte daher, dass wenn ich z.B. ein kleines Script schreiben:
cd /home/www/web1/html/irgendewas
mkdir 123

Sodass dieses mit dem User Recht web1 läuft. Wie bekommt man das hin? Wie kann man im laufenden shell den user wechseln. Irgendwie so muss das ja gehen :-)
impulz
Posts: 22
Joined: 2002-10-22 17:08
Location: Paderborn

Re: PHP Script mkdir ... / rechte ?

Post by impulz »

Zero wrote:Ich meine als Modul...
Dann muss der Webserver Schreibrechte auf das Verzeichnis haben, in dem du ein neues Verzeichnis erstellen willst.
exchange wrote: Sodass dieses mit dem User Recht web1 läuft. Wie bekommt man das hin? Wie kann man im laufenden shell den user wechseln. Irgendwie so muss das ja gehen
Am besten du lässt PHP als CGI laufen, dann hat das jeweilige Skript die User/Group-Recht, die in der httpd.conf für den VirtualHost definiert wurden.
Ansonsten kannst du versuchen ueber Shell-Befehle mit exec() oder system() erst den User zu wechseln (su) und dann den Befehl auf Shell-Ebene ausfuehren. Birgt aber ein nicht geringes Risiko, denn du musst das Passwort fuer den User in Klartext irgendwo stehen haben.


Michael
exchange
Posts: 25
Joined: 2003-01-08 20:48
Location: Erftstadt

gelöst aber..

Post by exchange »

Habe das Problem gelöst aber habe jetzt ein neues. Ein .tar Archiv wird über den php Befehl extrahiert. Leider mit dem User wwwrun:www. Wenn ich jetzt in den extrahierten Verzeichnissen etwas mit dem User web7 oder per ftp hochladen will geht das selbstverständlich nicht. Gibt es eine möglichkeit mit einem Shell Befhel die Dateien allen Usern zu verfügung zu stellen? Dann gehört das Verzeichniss html user web7 und die unteverzeichnisse allen. Eine Idee?