Quote[Tue May 19 08:42:27.793173 2020] [:error] [pid 15505:tid 12345] slurp_filename('/var/usrroot/httpdocs/cgi-bin/servertest.pl') / opening: (13) Permission denied at /usr/lib/x86_64-linux-gnu/perl5/5.24/ModPerl/RegistryCooker.pm line 545
2020-05-19T07:57:49 biancaHat dein Webhosting eine Administrationsoberfläche? Wenn ja, welche?Wie kann ich dieses mod Gedönse abschalten und nur CGI nutzen?
2020-05-19T08:18:10 GwenDragonHat dein Webhosting eine Administrationsoberfläche? Wenn ja, welche?
my $ergebnis = Digest::Keccak::keccak_512_hex('Dies ist ein schoener Sommertag!');
2020-05-19T09:01:02 GwenDragonIch vermute, da kann dein Programm nicht auf das binäre XS des Moduls zugreifen.
Und wie lädst du das Modul Digest::Keccak?
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21
$modul = 1; $get = "-"; eval "use Crypt::Digest::Keccak512 0.067; 1;" or $modul = $@; if ($modul eq "1") { $get = ""; my $ret = 0; $code = <<'CODEABSCHNITT'; my $ergebnis = Crypt::Digest::Keccak512::keccak512_hex('Dies ist ein schoener Sommertag!'); return ( $ergebnis eq '01073c008692a2c9378cf0fea47fd17d6ffc52c7e89c11486f76e95ed8e136b9a19cd862367f31128a616aaf440f6ef9e1bd77189818c043380f7e2d9f987284' ? "\x01" : $ergebnis ); CODEABSCHNITT $ret = eval $code; if ($@) { $get = $@; $modul = 0; } elsif ($ret ne "\x01") { $get = "liefert nicht das gewünschte Ergebnis sondern<br>$ret"; $modul = 0; } if ($get eq "") { $get = "bestanden"; } }
2020-05-19T16:11:27 hajNachdem Du das Laden des Keccak unter eval ausführst, sollte da eine sinnvolle Fehlermeldung von Dir geschrieben werden
2020-05-19T16:11:27 hajEs sieht also so aus, als ob servertest.pl nicht vom Apache-Prozess lesbar wäre. Vielleicht ist beim letzten Hochladen etwas mit den Permissions passiert?
Quote[Tue May 19 19:57:36.351130 2020] [:error] [pid 29613:tid 140285845632768] Can't locate Config_heavy.pl: /var/www/blabla/Config_heavy.pl: Permission denied at /usr/lib/x86_64-linux-gnu/perl/5.24/Config.pm line 79.\n
2020-05-19T16:11:27 hajIn jedem Fall muss man wissen, ob ein Perl-Skript unter mod_perl ausgeführt wird oder nicht.
2020-05-19T16:11:27 hajVielleicht ist die servertest.pl einfach in einem Verzeichnis gelandet, wo sie gar nicht hingehört?
2020-05-19T18:05:08 biancaWenn schon müssen die Rechte oktal 775 sein!Dennoch habe ich es mal auf 777 gesetzt und tatsächlich kamen dann weitere "Can't locate"-Meldungen für fehlende Module, die ich dann auch installiert habe.
2020-05-19T18:13:23 GwenDragonWenn schon müssen die Rechte oktal 775 sein!
Ansonsten, muss auch das Programm die gleichen Besitzer und Gruppe haben wie das cgi-bin selbst.
2020-05-19T18:05:08 bianca2020-05-19T16:11:27 hajNachdem Du das Laden des Keccak unter eval ausführst, sollte da eine sinnvolle Fehlermeldung von Dir geschrieben werden
Wie komme ich denn da dran? Mein Script läuft ja nicht wegen des Fehlers. Das einzige was ich habe, ist das error.log und das habe ich oben zitiert.
eval "use Crypt::Digest::Keccak512 0.067; 1;" or $modul = $@;
2020-05-19T18:05:08 bianca2020-05-19T16:11:27 hajEs sieht also so aus, als ob servertest.pl nicht vom Apache-Prozess lesbar wäre. Vielleicht ist beim letzten Hochladen etwas mit den Permissions passiert?
Es wurde ja nicht mein Script geändert sondern ich habe das erwähnte Modul installiert.
Dennoch habe ich es mal auf 777 gesetzt und tatsächlich kamen dann weitere "Can't locate"-Meldungen für fehlende Module, die ich dann auch installiert habe.
2020-05-19T18:05:08 biancaJetzt der nächste Blocker:
Quote[Tue May 19 19:57:36.351130 2020] [:error] [pid 29613:tid 140285845632768] Can't locate Config_heavy.pl: /var/www/blabla/Config_heavy.pl: Permission denied at /usr/lib/x86_64-linux-gnu/perl/5.24/Config.pm line 79.\n
Was ist das denn jetzt wieder?
2020-05-19T18:05:08 bianca2020-05-19T16:11:27 hajIn jedem Fall muss man wissen, ob ein Perl-Skript unter mod_perl ausgeführt wird oder nicht.
Es handelt sich ausschließlich um CGI.
2020-05-19T18:05:08 bianca2020-05-19T16:11:27 hajVielleicht ist die servertest.pl einfach in einem Verzeichnis gelandet, wo sie gar nicht hingehört?
das public cgi-bin. Was anderes steht hier nicht zur Verfügung und brauche ich normalerweise auch nicht.