ftp-> chmod
Michael Tyssen
- cgi
Hallo,
Ich verstehe nicht warum ich mit einfachen Befehlen zwar Dateien und Verzeichnisse auf einen Server laden kann, aber nicht die Rechte setzen.
$ftp=Net::FTP->new($urlhome, Debug=>0) || die "Keine Verbindung mit $urlhome.\n";
$ftp->login($fremduser, $fremdpass) || die "Fehler beim einloggen.\n";
$ftp->cwd("cgi-bin");
$ftp->mkdir($acount);
$ftp->cwd("admin");
$ftp->chmod (0777, admin) // <======= das geht nicht! Warum?
Kan mir jemand helfen?
M.f.G.
Michael Tyssen
Hoi,
Ich verstehe nicht warum ich mit einfachen Befehlen zwar Dateien und
Verzeichnisse auf einen Server laden kann, aber nicht die Rechte
setzen.
Das kannst du.
$ftp->chmod (0777, admin) // <======= das geht nicht! Warum?
Weil das Objekt die Methode 'chmod' nicht implementiert hat.
Kan mir jemand helfen?
Ja, die Perldoc (http://www.perldoc.com/perl5.6.1/lib/Net/FTP.html#METHODS):
site (ARGS)
Send a SITE command to the remote server and wait for a response.
Returns most significant digit of the response code.
Mit anderem Worten:
$ftp->site('chmod ....');
chmod ist nicht im FTP-Protokoll implementiert und muss
grundsaetzlich ueber SITE ausgefuehrt werden.
Gruss,
CK
Hi,
so klappt das auch nicht; habe wohl was falsch verstanden.
$ftp->mkdir($server);
$ftp->site('$server 0777');
$ftp->cwd("$server");
$ftp->put($datei1) || die "Fehler beim uploaden von $datei auf $server.\n";
$ftp->put($datei2) || die "Fehler beim uploaden von $datei auf $server.\n";
open(FILE,">$datei2");
$ftp->site('chmod $datei2, 0777');
print FILE "$server|$username|$adresse|$plz|$tel|$urlhome";
close(FILE);
Gruß
Michael Tyssen
Moin!
so klappt das auch nicht; habe wohl was falsch verstanden.
Offenbar. Das normale Kommando für chmod an der Kommandozeile lautet:
chmod 777 dateiname
Das sollte auch für FTP das richtige Kommando sein. Setze es in Anführungszeichen ins SITE-Kommando, und schau, was rauskommt.
- Sven Rautenberg
Danke Danke Super Super Sven
3Wochen habe ich daran rumgewürgt.
Jetzt muß ich nur noch wissen wie man das mit Verzeichnissen mache.
»»»» chmod 777 verzeichniss funkt nicht.
M.f.G
Michael Tyssen
Danke Danke Super Super Sven
3Wochen habe ich daran rumgewürgt.
Jetzt muß ich nur noch wissen wie man das mit Verzeichnissen mache.
Ganz genauso. Dateien und Verzeichnisse sind im wesentlich genau dasselbe.
»»»» chmod 777 verzeichniss funkt nicht.
Bist Du sicher, dass Du im richtigen Verzeichnis bist? Sah mir vorhin bei Deinem Beispiel nicht so aus. Dort bist Du erst ins Verzeichnis admin, um dann "admin" zu chmodden (oder zumindest so zu tun). Faellt Dir da was auf?
So long
Jetzt bin ich mir sicher:
»»»» chmod 777 verzeichniss funkt nicht.
kann ein Script nicht per FTP Verzeichnisse chmoden?
Gruß
Tyssen
Hoi,
Jetzt bin ich mir sicher:
chmod 777 verzeichniss funkt nicht.
kann ein Script nicht per FTP Verzeichnisse chmoden?
Das kommt darauf an, was du damit meinst. Wenn du meinst,
dass sie rekursiv geaendert werden -- doch, aber dafuer
musst du einen Parameter mehr angeben. Wenn du meinst,
dass das Verzeichnis selber seine Rechte aendern soll --
doch, auch das tut es.
Gruesse,
CK
genau das Verzecichniss muß 777 haben, da der Nutzer
dort selber seine Passwortdateien per Script setzen, kann, sollte.
Ich muß jetzt also nur noch wissen wie ich das dem Script sagen muß, das er per FTP dir Rechte eines Verzeicnissen setzen muß.
Bitte posteet mir einfach mal die Zeile wie Sie aussehen muß.
Ich danke. Ist das Letzte Problem an einer 3Monatigen Arbeit.
Gruß
Tyssen
Re-Hi!
Ich muß jetzt also nur noch wissen wie ich das dem Script sagen muß, das er per FTP dir Rechte eines Verzeicnissen setzen muß.
Bitte posteet mir einfach mal die Zeile wie Sie aussehen muß.
Puh, na gut, damit das ein Ende findet.
$ftp->site('chmod 777 dateiname');
Da haettest Du nach Svens Posting aber wirklich selber drauf kommen koennen. Immerhin bietest Du ja sogar Perl Programmierung als Dienstleistung an.
So long
jamei! soweit war ich auch.
Aber damit konnte ich bis jetzt noch kein Verzeichniss chmoden.
Es ist eben noch kein Meister vom Himmel gefallen.
Dienstleistungen kann man Anbieten. Welche Aufgaben man dann annimmt ist eine andere Sache. Oder?
M.f.G.
Michael
Hallo, <-- so nennt man eine Begruessung
Aber damit konnte ich bis jetzt noch kein Verzeichniss chmoden.
Natuerlich. Wieso sollte man das nicht koennen?
Gruesse,
CK
jamei! soweit war ich auch.
Aber damit konnte ich bis jetzt noch kein Verzeichniss chmoden.
Tja, dann weiss ich leider auch nicht, was das Problem ist. Leider wirft Net::FTP auch nicht gerade mit Fehlermeldungen um sich. (Das ist eines der Dinge, die ich bei den ach so schoen vereinfachenden Perlmodulen immer so hasse.) Immerhin gibt site() die erste Ziffer der Fehlernummer zurueck. Wie lautet denn die? Uebrigens ist es so, dass nicht alle FTP server das chmod bereitstellen. Daher solltest Du vielleicht mal ueberpruefen, ob Du das mit einem normalen FTP client ueberhaupt hinkriegst.
So long