Zugriff auf Netzlaufwerk mit Perl

Hallo,
für eine Intranet-„Anwendung“ möchte ich auf ein Netzlaufwerk zuweisen,
weiß aber nicht wie.

Folgendes Script habe ich momentan:

#!c:/programme/perl/bin/perl.exe
use File::Spec::Functions;
use File::Find;
use Time::localtime;
use cwd;
 print "Content-type: text/plain; charset=iso-8859-1\n\n";
 
 find(\&wanted, **PFADANGABE** );

sub wanted() {
 return unless -d $\_;
 return if $\_ eq curdir();
 my $dirname = $File::Find::name; 
 print "$dirname
"; 
 }

wenn die Pfadangabe auf ein lokales Verzeichnis am Webserver verweist, dann werden mir die Verzeichnisse ausgegeben, ansonsten erfolgt einfach keine Ausgabe.
Nun möchte ich aber das die Ausgabe eines anderen Servers bzw. Netzlaufwerkes erfolgt.
Kann man das überhaupt mit Perl realisieren?

Danke und Gruß

Marcel

Nun möchte ich aber das die Ausgabe eines anderen Servers bzw.
Netzlaufwerkes erfolgt.

Eigentlich solltest du ja schon eine Fehlermeldung bekommen. Aber vielleicht ist dein Webserver ja anders gestrickt als meiner…

Da der Zugriff auf’s ferne Laufwerk vom Webserver aus geschieht, muss dieser entspr. Leserechte auf das Laufwerk besitzen. Entweder muss der Webserver-Dienst also unter einem Konto angemeldet werden, welches Zugriffrechte besitzt, oder auf dem Netzlaufwerk muss dem Konto, auf dem der Server läuft, Zugriffsrecht erteilt werden.

Apache z. B. läuft unter Windows üblicherweise unter einem Systemkonto, damit hast du keine Chance, auf fremde Laufwerke zuzugreifen. Du müsstest den Apache also unter einem Benutzerkonto starten.

HTH
Schorsch

Hallo Schorsch,
entschuldige für die sehr späte Antwort.

Apache z. B. läuft unter Windows üblicherweise unter einem
Systemkonto, damit hast du keine Chance, auf fremde Laufwerke
zuzugreifen. Du müsstest den Apache also unter einem
Benutzerkonto starten.

heisst das ich muss als entsprechender Benutzer angemeldet sein, oder kann ich das irgendwo einstellen?

Danke soweit.

Gruß

Marcel

Apache z. B. läuft unter Windows üblicherweise unter einem
Systemkonto, damit hast du keine Chance, auf fremde Laufwerke
zuzugreifen. Du müsstest den Apache also unter einem
Benutzerkonto starten.

heisst das ich muss als entsprechender Benutzer angemeldet
sein, oder kann ich das irgendwo einstellen?

Das ist abhängig davon, welchen Server du einsetzt und ob dieser als Dienst realisiert ist. Um beim Beispiel Apache und der Annahme, dieser laufe als Dienst, zu bleiben: Dieser Dienst läuft üblicherweise unter einem lokalen Systemkonto (Systemsteuerung-> Verwaltung-> Dienste). Dieses hat selbstverständlich keine Rechte auf dritten Maschinen.

Wenn du es dir einfach machen willst und Sicherheitsaspekte dir völlig egal sind, stellst du den Dienst so um, dass er (nach einem Neustart) z. B. unter einem Domänen-Admin-Konto läuft. Sinnvoller ist, ein eigenes Benutzerkonto neu anzulegen (wenn Domäne, dann Domänenkonto; ist’s nur eine Workgroup wirst du ein bisschen huddeln müssen) und dieses mit den entsprechenden Rechten auf die erforderlichen Freigaben sowie mit dem Recht, Dienste zu starten und zu beenden, zu versehen.

Setzt du einen IIS ein, existiert ein entspr. Konto bereits (http://www.microsoft.com/technet/prodtechnol/Windows…), du musst dieses nur noch mit den entspr. Rechten ausstatten.

HTH
Schorsch

[erledigt] Re^4: Zugriff auf Netzlaufwerk mit Perl
Ja, Apache ist richtig *G*
gut, dann werde ich mal schauen was sich machen lässt.
Werde aber wohl ein eigenes Konto anlegen.

Vielen Dank,
hast mir sehr geholfen!!!