> For my program I have set 'suid' bit and changed
> the owner to root, so that effective user id becomes
> root when the program runs. But run time loader gives
> following error when it is run by a user other
> than root.
> "/sbin/loader : Fatal error : can not map libf.so"
> "libf.so" is a shared library used by the program. I
> checked that library search path set properly. I observed
> following things with the program.
> * If the program is run by root, then there is no problem.
> * If I don't do any of "setting suid" or "changing owner to root",
> then also run time loader does n't crib.
> * I tried changing owner of libf.so to root,even then also
> program did n't work.
> Let me know if you have any answer for this.
> I am working on Digital Unix 4.0
if set when the program is euid(0) to prevent replacement of a shared
object with rogue code that runs as root. Under Solaris, the solution
is to compile with -R/path/to/lib to hardcode a search path.
I've worked with DU before, but I never tried this.
Toby Creek - UNIX System Administrator
Alcatel Telecom, 2912 Wake Forest Road, Raleigh, NC
Phone +1 919 850 6465 / Fax +1 919 850 6703