|Perl: the Markov chain saw|
adding libs in a setuid-perl scriptby LucBrussels (Initiate)
|on Aug 30, 2010 at 12:35 UTC||Need Help??|
LucBrussels has asked for the wisdom of the Perl Monks concerning the following question:
I've ben browsing your website but can't find an answer to my problem in the related posts and answered I've been looking at.
I've compiled perl 5.12.1 and modules sybperl and Sybase::Simple under solaris 2.10.
I have scripts running on solaris 2.8 with perl 5.005 that have the setuid bit on and use sybperl to connect to a sybase database.
With the new perl/solaris version, this is not working. I can set the suid bit on on the perl script, and some stuff (like opening a protected file) work correct, but when I load the SYBASE::Simple module, it fails :
Can't load '/usr/local/test/lib/perl5/site_perl/5.12.1/sun4-solaris/auto/Sybase/CTlib/CTlib.so' for module Sybase::CTlib: ld.so.1: perl: fatal: libct.so: open failed: No such file or directory at /usr/local/test/lib/perl5/5.12.1/sun4-solaris/DynaLoader.pm line 200. at /usr/local/test/lib/perl5/site_perl/5.12.1/Sybase/Simple.pm line 19 Compilation failed in require at /usr/local/test/lib/perl5/site_perl/5.12.1/Sybase/Simple.pm line 19. BEGIN failed--compilation aborted at /usr/local/test/lib/perl5/site_perl/5.12.1/Sybase/Simple.pm line 19. Compilation failed in require at /dev/fd/3 line 8. BEGIN failed--compilation aborted at /dev/fd/3 line 8.
The script works without the suid-bit, so the file libct.so exists and can be found, but the library containing the file isn't searched.
Do you know a solution, please ?
Thanks, Luc, Brussels.