Perl Schreibrechte in andere Verzeichnisse

NetDiver

Registered User
Tach Leute.

Folgendes Problem:
(1&1 Rootserver/Suse8.1/Apache1.3/Confixx2.0)

Ich empfange mit einem Script Daten und möchte diese in die einzelnen User home Verzeichnisse schreiben.

Perlscript location: /web1/html/cgi-bin/write.pl
...
open(BLA,"/home/www/web1/html/test.html");
...
erstellt die gewünschte Datei im lokalen Verzeichnis. (Beweis, dass mein Script fehlerfrei läuft)
...
open(BLA,"/home/www/web4/html/open/test.html");
wobei das Folder "open" mit allen möglichen Rechte Kombinationen probiert wurde ... Ergebnis: "Permission denied".

Erstelle ich einen Symbolischen Link in web1/cgi-bin/web4, der genau auf web4/open zeigt, dann folgt wieder "Permission denied".

Wie kann ich also Perl/Apache dazu bewegen in ein anderes webXX folder zu schreiben?

Das mit dem +FollowSymLink in der httpd.conf hab ich schon probiert. Leider ohne Erfolg.

Ich bedanke mich schon mal für Eure Mühe ..

Gruß,

NetDiver
 
Welcher Benutzer deines Systems führt dieses Perl Script denn aus?
Wenn du das perl script als "web1" ausführst ist es klar dass es auch nur in Verzeichnisse von web1 schreiben kann.
Entweder CHMOD 777 'st du das Verz. der anderen Benuzter oder vergibst deinem User der das .pl Script ausführt root rechte (absolut nicht zu empfehlen).
 
Mach mal:
chown web1:users /home/www/web4/html/open/ -R
Das setzt "web1" als User für dieses Verz. allerdings hat dann web4 wiederum keinen zugriff auf dieses Verzeichniss
 
Hab ich schon getestet .. leider kein Erfolg.
Das Script verteilen ist meine letzte Wahl, da es sehr viel mehr Aufwand bedeuten würde um das alles später zu pflegen.
 
Also es bekommt über die POST Methode Binärdaten und diese sollen dann "zugeordnet" werden.

Html Post Methode daher, um möglichst kompatibel zu sein .. also kein Schnickschnack, der evtl von Firmennetzen nicht funzt .. ansonten hätte ich auch schon einen kleinen extra Server gebastelt, der Transfer und Verteilung übernimmt.

Gibts da 'ne Möglichkeit über sudo ?!
 
NetDiver said:
open(BLA,"/home/www/web4/html/open/test.html");
Dieser Befehl öffnet eine Datei zum lesen, aber ich denke, Du hast Dich wohl eher vertippt, oder?
Hast Du denn schon mal versucht mit dem selben Script aus dem Verzeichnis zu lesen?
Evtl. hängen die fehlenden Rechte schon in einem übergeordneten Verzeichnis.

Weiter mögliche Ursachen:
- chroot-Umgebung

Weiter mögliche Lösungen:
- Mit einem PHP-Script könnte man die Benutzterrechte umgehen, macht aber das System etwas unsicherer.

huschi.
 
:-) hab mich tatsächlich nur vertippt.
Das mit dem lesen check ich gleich mal ... (noch nicht probiert... wage aber vorauszusagen: Permission denied.)
 
Back
Top