Fu-Tung Cheng wrote:
Hi,

I have different instances of tomcat running on different ports of the same 
machine.  The processes are running as different users.  In this case could a 
user different than the one who launched the process connect to the tomcat 
shutdown port and cause the other instance to shutdown?

It seems like I can connect to the shutdown port of the other users tomcat 
instances with telnet so I think it appears likely that I could tell the other 
tomcat instance to shutdown.

How do I restrict this to only the user who launched the tomcat process?

As far as I know, you cannot. When a TCP port is "open", any local process can connect to it, and the receiving port does not "know" who that is. So, yes, unless you disable that port, anyone on the local machine could shut down any of your Tomcats. Telnet is the easiest way, but anyone with a bit of imagination can use many other ways to do it, too.

Regarding users that are not on the local machine, there are many possibilities, depending on the kind of host you are running on, to prevent connections to that port from anywhere except "localhost". Under Unix/Linux, one way might be tcp-wrappers (look up the files /etc/hosts.allow and /etc/hosts.deny), but that may depend on whether Tomcat pays attention to it or not.

You could also disable that connector altogether, but someone else should comment if this can have unintended consequences (such as preventing some "tomcat stop" script to work ?).

I also seem to remember that it is not enough to just connect to the port, I believe you must also send some string. If so, it might be possible to change that string to something not trivial somewhere.

I have always been curious about that feature. Maybe someone on the list can explain why it exists at all ?

André

---------------------------------------------------------------------
To start a new topic, e-mail: users@tomcat.apache.org
To unsubscribe, e-mail: [EMAIL PROTECTED]
For additional commands, e-mail: [EMAIL PROTECTED]

Reply via email to