Gast: Probleme beim Installieren eines Moduls

Beitrag lesen

opendir(./../../../../..): Permission denied at ../../lib/File/Spec/Unix.pm line 478

Hätte ich schon vorher machen sollen, aber nicht dran gedacht: ich hab nach dieser Fehlermeldung gesucht und hab einen Volltreffer gelandet. http://www.nntp.perl.org/group/perl.perl5.porters/2008/08/msg139339.html

Dort steht, dass es ausgelöst wird durch fehlende Leseberechtigung (also Attribut »r«) für den Benutzer auf dem Home-Verzeichnis. Also war meine Vermutung mit den Permissions doch sehr nahe dran! Unter diesen Bedingungen kann ich den Bug auch exakt auf meinem System nachstellen! Sobald irgendeinem übergeordneten Verzeichnis die Leseberechtigung fehlt, steigt der Vorgang an genau dieser Stelle aus.

Völlig außerstande sehe ich mich "seltsame Permissions" zu entdecken, weiß ich doch nicht, wie "normale Permissions" aussehen

Na das ist doch ganz einfach; du hast das nicht gut aufgefasst. Beispiel: von den vielen Tausenden Verzeichnissen in meinem Home-Verzeichnis haben die meisten »drwxr-xr-x« und eine Minderheit »drwx------«. Normal ist die Mehrheit; seltsam ist, was auffallend anders ist. Blatante Unterschiede kann jeder sehen, da muss man nicht mal Experte fürs Thema sein.

Ich schreibe dir mal die Kette der Verzeichnisse von meinem System (openSUSE 11) auf, jeweils ermittelt durch den Befehl »ls -ld« gefolgt vom Verzeichnisnamen. Ich zeige lediglich Berechtigungen, Benutzer, Gruppe und Name, den irrelevanten Rest hab ich weggelassen.

drwxr-xr-x root     root  /
    drwxr-xr-x root     root  /home
    drwxr-xr-x benutzer users /home/benutzer/
    drwxr-xr-x benutzer users /home/benutzer/temp/
    drwxr-xr-x benutzer users /home/benutzer/temp/perl-5.10.0/
    drwxr-xr-x benutzer users /home/benutzer/temp/perl-5.10.0/ext/
    drwxr-xr-x benutzer users /home/benutzer/temp/perl-5.10.0/ext/DynaLoader/

Du hast ja jetzt folgendes offenbart: Dein Home-Verzeichnis heißt /vivnemhc, gehört dem Benutzer 1450 und der Gruppe 2441. (Das mutet mir seltsam an, unter Linux hätte man standardmäßig bspw. $HOME = /home/benutzer oder unter BSD /usr/home/benutzer, und der Benutzer und die Gruppe hätten Namen, nicht nur Nummern. Obwohl also kein Standard, ist dieses Setup aber durchaus möglich und wohl damit zu begründen, dass du in einer Umgebung für Massenhosting bist und dir die Kiste »server282-han« mit zig anderen Personen teilst, deren Privatsphäre nicht einsehbar sein soll.)

Du bist doch der Benutzer 1450, oder?! Demnach sollte die Kette bei dir wie folgt aussehen, oder jedenfalls stark ähnlich wie das.
    drwxr-xr-x root root /
    drwxr-x--x 1450 2441 /vivnemhc/
    drwxr-xr-x 1450 2441 /vivnemhc/temp/
    drwxr-xr-x 1450 2441 /vivnemhc/temp/perl-5.10.0/
    drwxr-xr-x 1450 2441 /vivnemhc/temp/perl-5.10.0/ext/
    drwxr-xr-x 1450 2441 /vivnemhc/temp/perl-5.10.0/ext/DynaLoader/
Jetzt bist du wieder dran, zu ermitteln und zu vergleichen. Ich bin auch daran interessiert, was der Befehl »umask« ausgibt. Auf meinem System ist das 0022. Wenn dieser Wert bei dir anders ist, sind die Berechtigungen auf neu erstellten Verzeichnissen/Dateien eben auch anders.

  • Perl selbst neu zu installieren geht nicht aufgrund von unbekanntem Fehler

Das ist dennoch deine beste Chance. Du bist nahe dran am Erfolg. Nicht den Mut aufgeben - hang in there, little trooper!
(Säße ich direkt neben dir, wären wir wohl innerhalb einer Stunde fertig geworden statt nun mehr als drei Tagen. Ich weise nochmal auf die Möglichkeit von Live-Hilfe im IRC hin.)