Autor |
Nachricht |
rueckblick
Threadersteller
Dabei seit: 15.01.2006
Ort: -
Alter: -
Geschlecht: -
|
Verfasst Do 21.09.2006 13:00
Titel Schreibrechte für Skript |
|
|
Hallo,
mein Programm besteht aus einem Hauptordner (A), darin befinden sich ein Unterordner (AA) und ein paar Dateien.
Um das Programm zu benutzen, lade ich den Hauptordner A auf einen Server meiner Wahl in ein Verzeichnis meiner Wahl.
Nach dem Upload von A hat dieser je nach Einstellung des FTP Servers die Rechte 0755, d.h. nur Schreibrechte für den Besitzer. Ebenso hat auch der Unterordner AA nur 0755 Rechte.
Problem:
Eine Datei muss während dem Programmablauf eine Datei innerhalb von AA erstellen. Aber das Skript benötigt dafür mindestens 0747 o.ä., d.h. public user Schreibrechte, weil das Skript ja weder Owner noch Groupmember des Verzeichnises ist. Jedenfalls klappt das Skript nur, wenn Unterordner AA 0747 Rechte hat. Bei was anderem als 7 für public user kommen Permission denied Errors. is_file() meckert nämlich auch, wenn public user keine execute Rechte haben.
Weiß jemand, wie ich den Unterordner AA auf die nötigen Rechte setzen kann, aber bitte ohne, dass man es manuell machen muss per FTP Client.
Hinweis:
Die Benutzer sollten eben nicht mit sowas kompliziertem wie Rechtevergabe konfrontiert werden...
Aber falls es nicht anders geht, dass man sie manuell setzen muss, dann gehts halt nicht anders.
|
|
|
|
|
tacker
Dabei seit: 22.03.2002
Ort: Trondheim, Norwegen
Alter: 43
Geschlecht:
|
Verfasst Do 21.09.2006 15:26
Titel
|
|
|
Geht im Prinzip nicht anders. Nur der Besitzer oder root kann die Rechte ändern.
|
|
|
|
|
Anzeige
|
|
|
rueckblick
Threadersteller
Dabei seit: 15.01.2006
Ort: -
Alter: -
Geschlecht: -
|
Verfasst Do 21.09.2006 17:38
Titel
|
|
|
hab ich mir fast gedacht. ok danke.
|
|
|
|
|
Pixelpole
Dabei seit: 25.10.2004
Ort: Trier
Alter: 37
Geschlecht:
|
Verfasst Do 21.09.2006 17:52
Titel
|
|
|
schlagt mich wenn ich hier unsinn verzapfe. Aber mit php kann man doch auch einen ftp zugriff machen oder? Also praktisch über ein php skript das ändern. Hab das leider noch nich benutzt und kann nich viel dazu sagen aber vielleicht siehst du dir das mal an:
http://de2.php.net/manual/en/function.ftp-chmod.php
Zuletzt bearbeitet von Pixelpole am Do 21.09.2006 17:53, insgesamt 2-mal bearbeitet
|
|
|
|
|
tacker
Dabei seit: 22.03.2002
Ort: Trondheim, Norwegen
Alter: 43
Geschlecht:
|
Verfasst Do 21.09.2006 17:55
Titel
|
|
|
Das geht natrülich. Aber ich dachte mir, das er eine simple Lösung sucht.
|
|
|
|
|
Pixelpole
Dabei seit: 25.10.2004
Ort: Trier
Alter: 37
Geschlecht:
|
Verfasst Do 21.09.2006 17:57
Titel
|
|
|
naja so kompliziert müsste das doch auch nich sein oder?
erst damit ftp-verbindung herstellen und dann hiermit ändern und dann hiermit die verbindung wieder zu machen
//edit: und man müsste noch damit einloggen oder?
ich teste das mal daheim. hab grad eh nix zu tun.
//edit2: hab das hier jetzt mal auf meinem Server getestet
Code: |
$file = "index.php";
$ftp_server = "ftp-host";
$ftp_user_name = "ftp-user";
$ftp_user_pass = "ftp-pass";
$conn_id = ftp_connect($ftp_server);
$login_result = ftp_login($conn_id, $ftp_user_name, $ftp_user_pass);
if (ftp_chmod($conn_id, 0644, $file) !== false) {
echo "Schreibrechte erfolgreich gesetzt!";
} else {
echo "Schreibrechte nicht gesetzt!";
}
ftp_close($conn_id);
|
Kriege allerdings immer diese Fehlermeldung
Code: | Fatal error: Call to undefined function: ftp_chmod() in *******.php on line 11 |
Zuletzt bearbeitet von Pixelpole am Do 21.09.2006 18:33, insgesamt 2-mal bearbeitet
|
|
|
|
|
rueckblick
Threadersteller
Dabei seit: 15.01.2006
Ort: -
Alter: -
Geschlecht: -
|
Verfasst Do 21.09.2006 20:27
Titel
|
|
|
@Pixelpole
Über deine Fehlermeldung kann ich nur vermuten, dass du evtl. kein FTP Modul geladen hast in deiner PHP Konfig. Nur dann stehen auch die FTP Funktionen zur Verfügung.
Über FTP würde es funktionieren, du hast recht. Ich überdenke das mal. Das Problem ist, dass dazu FTP Daten vorab noch eingegeben werden müssten. Diese Frage ich zwar im Laufe des Programms zwar auch noch ab, aber nur, wenn der Benutzer auch eine FTP Verbindung benötigt, d.h. eine Datei übertragen möchte.
Dies ist aber optional, d.h. der Benutzer wird sich fragen, warum er jetzt doch FTP Daten eingeben muss, obwohl er doch gar nichts übertragen möchte. Das möchte ich eigentlich vermeiden.
Aber danke, an das habe ich nämlich nicht gedacht. Werd ich mir mal merken, wed ich bestimmt mal brauchen.
|
|
|
|
|
Pixelpole
Dabei seit: 25.10.2004
Ort: Trier
Alter: 37
Geschlecht:
|
Verfasst Fr 22.09.2006 09:29
Titel
|
|
|
rueckblick hat geschrieben: | @Pixelpole
Über deine Fehlermeldung kann ich nur vermuten, dass du evtl. kein FTP Modul geladen hast in deiner PHP Konfig. Nur dann stehen auch die FTP Funktionen zur Verfügung.
|
Das war natürlich das erste was ich nachgesehen hab in der phpinfo(). Die sachen sind ja geladen. Und wenn kein FTP Modul geladen ist müsste er ja theoretisch schon beim ftp_connect eine Fehlermeldung ausgeben. Wahrscheinlich wurrde die Funktion einfach von einer neueren abgelöst oder sowas. Wie dem auch sei.
evtl könntest du es auch mit der Funktion chmod() versuchen. Da werden keine FTP-Zugangsdaten benötigt. Allerdings funktioniert diese Funktion nur wenn der Besitzer der Datei auch der selbe ist unter dem die installation von PHP läuft wenn ich die beschreibung hier richtig verstanden habe.
|
|
|
|
|
|
|
|
Ähnliche Themen |
Dreamweaver Schreibrechte (777) bzw.(644)
LOG IN Skript
Login-Skript
PHP-Skript Problem
Director Skript?
PHP Skript gesucht...
|
|