Hello, I got the response on OpenWebMail FAQ on
http://openwebmail.org/openwebmail/doc/faq.txt3. The suid support of your perl may be not correctly enabled.
a. su to a regular user, then run openwebmail.pl form command line.
b. if it shows 'Can't do setuid', su to root,
have suidperl owner=root, node=4555, then try step a again
c. if it shows the following WARNING, su to root,
have suidperl owner=root, mode=555, then try step a again
YOU HAVEN'T DISABLED SET-ID SCRIPTS IN THE KERNEL YET!
FIX YOUR KERNEL, OR PUT A C WRAPPER AROUND THIS SCRIPT!
d. if it shows a long html text content, which means the suid
support of your suidperl is enabled.
e. if step b or c doesn't help, please goto step 4
ps: If you are using Suse Linux 9.0 Professional, please note that the
permissions of suidperl is changed at each time SuSEconfig is run.
To avoid having to change these permissions manually each time,
please modify /etc/permissions.easy (or what permissions file used ever)
to set the proper permissions.
(thanks to dialsc.AT.t-online.de, Schaefer, Dirk Alexander)
4. if executing openwebmail.pl with regular user always complains
'Can't do suid' or 'YOU HAVEN'T DISABLE SET-ID SCRIPTS IN THE KERNEL..'
then your perl executable was compiled without SUID support
Here are the steps to recompile your perl with suid enabled:
a. grab the perl source tar ball
b. sh Configure -de (de means default perl config)
c. edit config.sh and set this :
d_dosuid='define'
d_suidsafe='undef'
ps: If you run './Configure' to configure the perl interactively,
then don't forget to answer 'yes' for question
"Do you want to do setuid/setgid emulation? "
Or you won't be able to execute openwebmail
d. then make, make install (make suidperl if needed)
e. if you have compiled suidperl, then chmod 4555 suidperl
if you don't have suidperl, change #!/usr/bin/suidperl to
the path of your perl
(thanks to Nemo Kaiser, nemoo.AT.users.sourceforge.net)
ps: If you are using FreeBSD and your perl is compiled from port,
then please note that the SUID support is disabled by default
since the port for perl 5.8.1
You need to do 'make -DENABLE_SUIDPERL' in making port
ps: If you don't want to recompile perl, you choose to may use
misc/tools/suidwrap.pl to generate C wrappers for all suid scripts.
However, this is not recommended at all, as you will not be able
to use SpeedyCGI with the openwebmail system.
Here are the steps:
1. cd cgi-bin/openwebmail
2. perl misc/tool/wrapsuid/wrapsuid.pl /fullpath/cgi-bin/openwebmail
3. change #!/usr/bin/suidperl to the path of your perl
All suid scripts will be renamed to .scriptname.pl and
the C wrapper will be generated and named as script.pl
(thanks to Chris Heegard, heegard.AT.NativeI.com)
The spellcheck may not work on Solaris when using C wrappers.
(thanks to Isam Ishaq, isam.AT.planet.edu)