Insecure $ENV{PATH} while running setuid at /../xyz.pm line 45.
Insecure EXEC while running setuid at /../xyz.pm line 45.
Mein Script besteht aus einem Hauptscript, dass via suidperl interpretiert wird, und mehreren Unter-Scripten (/Modulen) die via require in das Hauptscript eingebunden werden.
Im Hauptscript wird mittels "pwd" das aktuelle Verzeichnis ausgelesen, und in einer Variable gespeichert.
Diesw wiederum wird in jedem require dem Pfad vorangestellt, damit immer ein absoluter Pfad gegeben ist.
Leider führt dies zu obiger Warnmeldung...
Selbst wenn ich das entsprechende Verzeichnis zu "PATH" hinzufüge, meckert er immernoch rum...
Wenn ich relative Pfade benutze, gibt er keine Meldung aus.
Perl's require hat ein für mich sehr seltsames Verhalten, denn sobald ich das Script als ein anderer User ausführe, findet es angeblich mein einzubindendes Modul nicht, obwohl test -e -r und -x, im selben script alle einen positiven wert zurückgeben. Sogar open funktioniert...
Wenn ich absolute Pfade nutze, findet auch require die Datei und bindet sie erfolgreich ein.
Jetzt meine Frage, wie kann ich die Warnmeldungen ausstellen ( außer -X als Interpreter-Argument ), oder wie bringe ich require dazu, die Datei zu finden?
Immerhin ist die Datei ja eindeutg vorhanden und les- / ausführbar...
MFG - Keks