Announcement

Collapse
No announcement yet.

upload und chmod

Collapse
X
  • Filter
  • Time
  • Show
Clear All
new posts

  • upload und chmod

    ich habe ein php-skript zum upload von dateien auf meinen account geschrieben mit dem ich auch verzeichnisse anlegen kann. die angaben des chmod mit 777 habe ich berücksichtig.
    -> problem
    in zweiter ebene bin ich nicht mehr in der lage eigenschaften der verzeichnisse und dateinen zu ändern. über meinen ftp-account konnte ich nicht einmal die angelegten dateinen löschen.

    ich selber tippe auf die besitzrechte der ordner die bei den administratoren liegen, da die rechte der php.exe an die neuen dateinen vergeben wurden. kann es noch andere möglichkeiten geben oder kann ich die den besitz der dateinen explizit bestimmen?
    gibt es andere lösungsansätze zur dateiverwaltung mit php?

  • #2
    php.exe - da tippe ich spontan auf ein Windows-Server. Bei Windows (NT? 2000? XP?) kenn ich mich in Rechtevergabe nicht aus, darum beschreib ich die Problematik mal fuer einen Unix-Fall:<p>
    Als FTP-Account gehoert Dir Dein Web-Verzeichnis. Aber php-Skripte, wenn sie ausgefuehrt werden, laufen unter der UserID des Webservers. Das bedeutet, dass die Verzeichnisse, in denen ein PHP-Skript schreiben soll, entweder dem Webserver gehoeren oder mit chmod 777 fuer alle beschreibbar gestaltet werden. Damit kann PHP dann schreiben.<p>
    Diese Dateien wieder loeschen geht eigentlich nicht, da sie ja dem Webserver gehoeren und nicht Dir. Unter Unix geht es dennoch, solange sie in einem Verzeichnis liegen, welches Dir gehoert, weil fuer die Verzeichnis-Eintraege die Rechte auf dem Verzeichnis zaehlen. Bei Unterverzeichnissen ist dies natuerlich fies, weil normalerweise ein rekursives Loeschen fehlschlaegt (in den Unterverzeichnissen hast Du nun mal nicht mehr Loesch-Recht).<p>
    Grundsaetzlicher Ansatz: Was PHP anlegt, auch mit PHP wieder loeschen/umbenennen. Denn DANN sind die Rechte ja wieder da. Also schreib noch ein Datei-Management-PHP-Skript, dies solltest Du dann aber gegen Zugriff von aussen z.B. mit .htpasswd schuetzen, damit nicht jeder im Internet Zugriff auf die Dateien hat.<p>
    Alternativer Ansatz: Wenn es Dein eigener Webserver ist, kann man einen setUID-Wrapper installieren, der die PHP-Skripte dann nicht mit der ID des Webservers ausfuehrt, sondern mit der des FTP-Accounts. Ob das unter Win ueberhaupt geht, weiss ich wie gesagt nicht, ich kenne das Rechtesystem dort nicht.<p>
    Gruss, Marc

    Comment

    Working...
    X