How to fix "Can't do setuid"? Reinstall Perl modules?

I seem to be getting the “Can’t do setuid” problem, but I can’t quite
figure out why. The only thing that has occured to me is either my
Perl installation is still messed up someplace from an aborted,
accidental upgrade to 5.6.1. Or that I need someone to uninstall and
reinstall either the Perl or RT programs in order to get them to use
the right versions. That is I need to reinstall the perl modules that
were updated by the ‘make fixdeps’ commands with my perl5.00503.

I can’t find a make clean command or a force to force the ‘make
fixdeps’ to rebuild the modules.

It is also possible that I just don’t have the permissions set
right. There are a few other things that are confusing to me.

-rws–x--x 1 root root 530972 Aug 23 2000 /usr/bin/sperl5.00503
-rws–x--x 2 root root 530972 May 24 17:39 /usr/bin/sperl5.6.1
-rws–x--x 2 root root 530972 May 24 17:39 /usr/bin/suidperl

All three of those program are identical at least according to the
diff command and have the setuid bit on.

I can easily remove and reinstall RT and MySQL, but Perl is of course
another matter. So how do I fix my setuid problem?

Josh Kuperman
josh@saratoga.lib.ny.us

I seem to be getting the “Can’t do setuid” problem, but I can’t quite

-rws–x--x 1 root root 530972 Aug 23 2000 /usr/bin/sperl5.00503
-rws–x--x 2 root root 530972 May 24 17:39 /usr/bin/sperl5.6.1
-rws–x--x 2 root root 530972 May 24 17:39 /usr/bin/suidperl

All three of those program are identical at least according to the
diff command and have the setuid bit on.

And for all instances of ‘#!/some/path/perl’ within RT, are you calling
one of the setuid perls as above?

                         Bruce Campbell                            RIPE
               Systems/Network Engineer                             NCC
             www.ripe.net - PGP562C8B1B                      Operations

I seem to be getting the “Can’t do setuid” problem, but I can’t quite
And for all instances of ‘#!/some/path/perl’ within RT, are you calling
one of the setuid perls as above?

As far as I can tell my path is fine. Is there a good way to check?
Judging from @INC I’ve got it right. Is there an easy way to check
that I have setuid capability? Before I sent this I created a perl
"hello world" to test. I wrote it as root. It executes fine without
the suid bit turned on, but fails with the “Can’t do setuid” message
once I make it suid.

One one level this has nothing to do with RT, except that RT requires
the suid programs to works. It may have something to do with how RaQ
XTRs are configured or how I may have damaged my perl installation. In
any case the instructions from the FAQ are not enough for me to fix
what is happening. I’ll ask on the Cobalt lists as well, but it still
mystifies me.

Josh Kuperman
josh@saratoga.lib.ny.us

josh wrote:

Judging from @INC I’ve got it right. Is there an easy way to check
that I have setuid capability? Before I sent this I created a perl
"hello world" to test. I wrote it as root. It executes fine without
the suid bit turned on, but fails with the “Can’t do setuid” message
once I make it suid.

Your suidperl wasn’t built with suid capability. This functionality
has to be enabled at compile time (I forget the exact options, but
a search of this list and/or general perl installation resources
should tell you how to do it.)