Unable to manage mailman mailinglists

When we try to manage a mailman mailinglist an empty page appears and the following error appears in /var/webmin.miniserv.error:

Usage: su [-] [ username [ arg ... ] ] [03/Jan/2011:17:16:32 +0100] [195.240.3.7] /virtualmin-mailman/unauthenticated/listinfo.cgi : Missing Content-Type Header

I have no idea when and how su is called?

Status: 
Active

Comments

Virtualmin tries to run the mailman CGIs as the Apache user, with a command like :

su -m httpd -c "/bin/sh -c '/path/to/cgi'"

Assuming that httpd is the user Apache runs as.

Does the -m flag for su work on your Solaris system?

Ok, that would explain it ... Virtualmin tries to use the -m flag so that su stil works even if the user doesn't have a valid shell. However, it should only be using this on Solaris 11+ ... which OpenSolaris version are you running there?

You can see what version Webmin thinks it is with a command like :

grep os_ /etc/webmin/config
[09:30:43] munnik@prince ~ $ grep os_ /etc/webmin/config
os_type=solaris
os_version=11
real_os_type=Sun Solaris
real_os_version=11
[09:30:45] munnik@prince ~ $ uname -a
SunOS prince 5.11 snv_134 sun4v sparc SUNW,SPARC-Enterprise-T5120 Solaris

Interesting, it looks like OpenSolaris 11 and regular Solaris 11 don't have the same su command?

A hack work-around to fix this would be to edit /etc/webmin/config and change the os_version line to :

os_version=10

Let us know if that helps ..

Hi Jamie,

After changing to OS version the 'su' warning is gone but the manage mailinglist pages are still empty. Now there are no error messages in the error log.

Hmm, I'm not sure if that is much progress :-(

Can you actually use su to run commands as the Apache user? Something like :

su httpd -c "echo hello"

[17:35:04] munnik@prince ~ $ pfexec su httpd -c "echo hello" su: Unknown id: httpd [17:35:13] munnik@prince ~ $ pfexec su webservd -c "echo hello" hello

I assume virtualmin is aware of the fact that the webserver user is not httpd but webservd?

Which command is actually called when the su is executed?

It depends on which page in Virtualmin is being accessed.

The best way to see what commands are being run is to go to Webmin -> Webmin Configuration -> Debugging Log File, and change "Debug log enabled?" to "Yes". Then check the box "Commands executed" , and de-select everything else in "Events to log".

Then try accessing the mailman page, and see what command is logged in /var/webmin/webmin.debug