Seite 1 von 1

Wenn man den Upload Ordner nicht local abspeichern kann

Verfasst: Fr 16. Dez 2005, 08:16
von Simone
Hallo,

ich habe jetzt versucht, den Upload Ordner local zu überspielen, weil es sein kann, daß andere Redakteure inzwischen Bilder und PDFs hochgeschickt haben, von denen ich nichts weiß - diese aber ja sichern muß.

Das ist aber nicht möglich. Beim Provider nachgesehen, fällt auf, daß bei einigen Ordnern (die über die Dateiverwaltung installiert wurden) statt der Kundennummer wwwrun steht. Und genau diese lassen sich auch nicht zurückladen.

Was kann ich tun?

Für jeden Tipp dankbar

Simone (aus dem verregneten Berlin)

Verfasst: Fr 16. Dez 2005, 09:48
von php0815
Könnte mit den Dateirechten zusammenhängen.
Probier mal folgendes.

Code: Alles auswählen

<?php
chmod("test/test22/test.html",0757);
$datei = "test/test22/test.html";

$id = fileperms($datei); 
$id = decoct($id);echo "Zugriffsrechte der Datei $datei: $id";
?>
führe die Datei aus somit müstest du zugriff auf die Dateien haben.
Bei Verzichnisse muß ein abschließendes "/" da sein.

Verfasst: Fr 16. Dez 2005, 09:55
von Simone
Danke für die fixe Antwort!

Ach so ja, hab ich vergessen zu erwähnen. Normalerweise vergebe ich die Rechte beim Provider. Ich klicke dazu den Ordner an und sage z.B. 777. Das ist aber nicht möglich, weil - ich vermtute es - da nicht wie sonst meine Nummer steht, sondern wwwrun.

Ich kann also keine 777 vergeben, wenn die Dateien über die Dateiverwaltung Ordner angelegt wurden.

Noch kann ich die beiden Ordner löschen und bei den redakteuren die Rechte zum Anlegen eines neues Verzeichnisses löschen.

Aber ich dachte, vielleicht gibts noch einen anderen Weg, als die Beschränkung

Verfasst: Fr 16. Dez 2005, 09:56
von Simone
php0815 hat geschrieben:Könnte mit den Dateirechten zusammenhängen.
Probier mal folgendes.

Code: Alles auswählen

<?php
chmod("test/test22/test.html",0757);
$datei = "test/test22/test.html";

$id = fileperms($datei); 
$id = decoct($id);echo "Zugriffsrechte der Datei $datei: $id";
?>
führe die Datei aus somit müstest du zugriff auf die Dateien haben.
Bei Verzichnisse muß ein abschließendes "/" da sein.
Wo soll ich das hinschreiben ? :oops:

Verfasst: Fr 16. Dez 2005, 10:16
von php0815
erstelle eine Datei zb. chmod.php -> copiere den Code rein -> ändere den Pfad und den Dateiname -> Copiere die Datei auf den Web-Server und führe sie aus.
zb. www.meinedomain.de/chmod.php
Damit werden die Dateirechte gestezt wenn man mit ftp keine Rechte hat.

Verfasst: Fr 16. Dez 2005, 13:53
von Simone
Ach so. ..... (Minuten später)

Habs gemacht, aber ändert sich nicht. Ich kriege die einzelnen Dateien magels Berechtigung nicht local überschrieben. Also alle Dateien, die ich ohne FTP mit der Dateiverwaltung hochgeladen habe.

Verfasst: Fr 16. Dez 2005, 14:07
von php0815
wie sieht die ausgabe aus?
Das Script zeigt ja die rechte von der Datei nach der ausführung an.
Hast du auch mal die Rechte von dem Verzeichniss geändert.

Verfasst: Fr 16. Dez 2005, 14:25
von HerrB
Die Antwort würde ich noch abwarten, aber wenn alles nix hilft, hat das vermutlich wenig mit Zugriffsrechten bzw. chmod zu tun - hier sind FTP-Account und Web-Account (wwwrun) nicht in der gleichen Nutzergruppe (auf dem Server) und vermutlich ist safe mode aktiv.

Damit kann der FTP-Account nicht auf die Dateien des Web-Accounts zugreifen. Siehe http://www.contenido-faq.de zu Safe Mode bzw. zum Stichwort chown.

Gruß
HerrB

Verfasst: Fr 16. Dez 2005, 14:34
von Simone
Safe Mode ist nicht aktiv. Es ist wirklich nur bei den Dateien, die mit der Verwaltung hochgeladen wurden bzw. Ordner, die online angelegt wurden.

Verfasst: Fr 16. Dez 2005, 14:44
von Simone
php0815 hat geschrieben:wie sieht die ausgabe aus?
Das Script zeigt ja die rechte von der Datei nach der ausführung an.
Hast du auch mal die Rechte von dem Verzeichniss geändert.
Letzteres geht ja nicht. Ich ändere es in 777, aber beim Provider rührt sich nichts. Und die Bilder in den Ordnern haben sogar nur rw- --- ---

Ich habe auch schonmal privat Probleme mit dem wwwrun gehabt. Bei mir habe ich mal eine Bildergalerie raufgemacht, die anschließend löschen wollte. Aber alle Teile mit wwwrun lassen sich beim Provider nicht löschen.

Verfasst: Fr 16. Dez 2005, 14:47
von HerrB
Gut, dann kann es das Problem auch ohne Safe Mode geben, dann sind FTP- und Web-Account nicht in der gleichen Gruppe. Es gilt trotzdem das Gesagte, siehe http://www.contenido-faq.de bzw. chown (es geht um den Owner der Dateien/Verzeichnisse - der lässt sich i.A. nicht per FTP ändern).

Gruß
HerrB

Verfasst: Fr 16. Dez 2005, 19:38
von Simone
Ich habe den Test von Thilo Sommer gemacht und da kam heraus, daß mindestens 100 Dateien aufgführt wurden. Hier als Beispiel:

Fehler: Der Besitzer "wwwrun" der Datei cms/cache/ed2dffbb7f331717bf8a37dc8e6dc195.jpg ist unterschiedlich zu dem Besitzer ("b123456") des aktuellen Scriptes. Stellen Sie sicher, daß die Datei den gleichen Besitzer (owner) erhält wie das Script.

Sorry, bei Thilo wird von Safe mode on gesprochen, aber den habe ich definitiv off. Weiter schreibt er:

"Wer dies nicht möchte oder kann,

muß entweder Contenido komplett als Benutzer "wwwrun" (so heißt der Benutzer des Webservers meistens) laufen lassen (z.b. chown -R wwwrun contenido-4.3.1b)"


Simone: Wie mache ich das?


"oder in der Datei php.ini die Direktive "safe_mode_gid" auf "on" zu setzen."


Simone: Oder soll ich das machen?

"safe_mode_gid" ist dann nicht mehr ganz so streng, und auf obiges Beispiel angewandt würde das bedeuten: Wenn "alek202" und "klaus303" zu derselben Gruppe (z.b. "users") gehören würden, dürfte "alek202" auf die Dateien von "klaus303" zugreifen."

Kannst Du mir Dummy das kurz erklären?

Gruß Simone

Verfasst: Sa 17. Dez 2005, 00:57
von HerrB
Dummy
Das würde ich nie sagen oder denken...

Ich habe in dieser Hinsicht im Detail auch keine Ahnung, da ich zwar stolzer Besitzer eines Linux-Root-Webservers bin, aber über ein regelmäßiges Update ihn noch nicht weiter nutze.
chown -R wwwrun contenido-4.3.1b
Diesen Befehl kannst Du nur ausführen, wenn Du über einen sogenannten Shell-Zugriff auf dem Webserver verfügst und "Dein" Account Superuser ist - d.h. Du musst i.A. "Dein eigener Herr" auf dem Webserver sein.

Der Befehl ändert den Owner aller Dateien im Verzeichnis contenido-4.3.1b auf den Account wwwrun.
"safe_mode_gid" ist dann nicht mehr ganz so streng, und auf obiges Beispiel angewandt würde das bedeuten: Wenn "alek202" und "klaus303" zu derselben Gruppe (z.b. "users") gehören würden, dürfte "alek202" auf die Dateien von "klaus303" zugreifen."
Ist das auch noch ein Zitat oder von Dir? Der Safe Mode (der nach Deiner Aussage nicht aktiv sein sollte) stellt sicher, dass aus einem Verzeichnis, das einem Nutzer A gehört, nicht auf Dateien oder Verzeichnisse zugegriffen werden kann, die dem Nutzer B gehören.

safe_mode_gid auf on bedeutet, dass dies für Nutzer in der gleichen Gruppe (=gid) doch wieder möglich wird. Häufig sind FTP-Account und Web-Account in der gleichen Gruppe, so dass die Aktivierung der Option die Probleme löst.

Leider ist hier die Voraussetzung ähnlich: Zur Änderung der php.ini musst Du "Herr über den Server" sein oder diese Option z.B. über ein Konfigurationssystem Deines Providers einstellen können.

Gruß
HerrB

Verfasst: Sa 17. Dez 2005, 05:43
von Simone
HerrB hat geschrieben:
Dummy
Das würde ich nie sagen oder denken...
Ich sage das von mir und fühle mich nicht beschämt, weil es die Wahrheit in Sachen PHP ist. Nicht HTML, da habe ich einige Erfahrungen gemacht und ich meine nicht, eine Tabelle setzen zu können, sondern schon etwas mehr. Aber PHP ist bei mir so, wie damals zu Beginn von HTML.
"safe_mode_gid" ist dann nicht mehr ganz so streng, und auf obiges Beispiel angewandt würde das bedeuten: Wenn "alek202" und "klaus303" zu derselben Gruppe (z.b. "users") gehören würden, dürfte "alek202" auf die Dateien von "klaus303" zugreifen."
Ist das auch noch ein Zitat oder von Dir?
Nee, das war Thilo Sommer.

Okay, dann schalte ich einfach die Dateiverwaltung ab und sage den Leute, daß sie mir die Sachen schicken müssen.

Jedenfalls danke ich Dir für die Erklärung, weil ich nun ein bischen mehr durchblicke (zugleich heißt das auch, daß ich diese Ordner nämlich nie gelöscht bekomme, so gehts mir mit meinem Showit Ordner, den ich bei mir drauf habe :roll: )

Danke!!!

Verfasst: So 18. Dez 2005, 16:58
von HerrB
Na ja, Du könntest natürlich auch Deinen Provider mal zu dem Problem ansprechen - vielleicht hat er eine einfache Lösung.

Gruß
HerrB