PDA

Archiv verlassen und diese Seite im Standarddesign anzeigen : problem mit zugriff auf ein mit PHP erstelltes verzeichniss


unworldly
30.03.2004, 12:08:54
ich habe mit mkdir() ein verzeichnis auf meinem server erstellt.

wenn ich jetzt mittels ftp-prorgamm dateien hineinladen will, wird mir der zugriff verweigert (löschen kann ich das verzeichnis aber)

das verzeichniss wurde mit dem mode drwxrwxrwx (0777) erstellt...

warum kann ich nicht mittels ftp-programm dateien uploaden bzw. wie kann ich das besser machen? vielleicht einen anderen mode beim erstellen verwenden?

wäre sehr dankbar für einen tipp,

lg, michi

Taresto
30.03.2004, 13:49:16
das ist interessant. Hatte das gleiche problem, aber bei mir hat es mit dem Befehl, wie du bereits erwähnt hast,
chmod ($dir, 0777);
ganz gut funktioniert.

Hast du die Rechte mitels FTP-Client kontrolliert?

mfg Reto

unworldly
30.03.2004, 20:11:37
danke für deine antwort!

mittels ftp programm kann ich die rechte nicht mehr ändern...
(permission denied). aber die rechte sind eigentlich eh so gesetzt, wie bei allen anderen ordnern auch, nur das sie halt von meinem script und nicht von hand erstellt wurden...


lg, michi

Beedle
30.03.2004, 20:17:42
Hi,

und wie sind die Rechte nun? 777 kann ich mir nicht vorstellen, da müsste es ja gehen.

unworldly
30.03.2004, 21:10:52
das ist ja das komische...

die rechte sind GLEICH wie bei allen anderen ordnern, nur das er halt von meinem script erstellt wurde...

rechte:
owner: read/write/execute
group: read/execute
world: read/execute

aber wie gesagt: die sind überall so (außer in dem ordner, in dem mein ordner erstellt wird, das ist alles auf read/write/execute
sonst könnte ich ja nicht mittels php-script ein file(bze. ordner) darin erstellen)

lg, michi

bazubi
30.03.2004, 21:37:40
Das Problem ist eigentlich recht einfach erklärt: Nur der Owner hat "Write" Rechte. Wenn der Ordner aber vom Script anlegt wird, ist der Owner nicht gleich dem FTP User (wenn PHP als Modul und nicht als CGI läuft). D.h. als für den FTP User gilt in diesem Fall die Werte von World - und da fehlen die Writerechte!

Taresto
30.03.2004, 21:41:04
Wenn ich dich richtig verstanden habe, sagst du, dass der Ordner, der von deinem Script erstellt wurde, folgende Rechte hat:
rechte:
owner: read/write/execute
group: read/execute
world: read/execute


Stimmts? Wenn ja, hat der Ordner auch nicht den chmod 777 sondern 755. Dazu kommt, dass nicht mehr du der Owner bist sonder der Webserver (etwas wie www, apache oder www_run etc) und auch nicht mehr in der gleichern Benutzergruppe somit hast nicht mehr die Rechte über den Ordner.

Willst du die Rechte trotzdem wieder haben, musst du diese mit dem PHP-Script setzten und nicht von hand (geht ja eh nicht mehr)
also:mkdir($dir);
chmod($dir, 0777); oder mkdir($dir, 0777);

mfg Reto

unworldly
31.03.2004, 18:25:05
aber ich hab das verzeichniss mit php und
mkdir($dir, 0777);
erstellt....

ich verwende übrigens PHP 4.3.4..

lg, michi

unworldly
31.03.2004, 18:31:31
ok, jetzt hab ichs mit
mkdir($dir);
chmod($dir, 0777);
und das funktioniert...
ich kannte bisher nur die andere variante...
bzw dachte die hätten den gleichen effekt...
herzlichen dank für eure hilfe!

danke, lg, michi

Taresto
31.03.2004, 19:55:24
thx für dein feetback. hätte auch nicht damit gerechnet, dass es nicht den gleichen Effekt hat.
mfg