以root权限启动tomcat webapp

我build立了一个使用libpcap的webapp(通过jpcap)。

为了能够获得networking接口列表或绑定到networking接口,应用程序(在这种情况下是从tomcat服务器运行的webaap)必须以root权限运行。

在开发过程中,我只是用root权限(sudo eclipse)运行Eclipse,而且我的webapp在Eclipse的本地tomcat服务器上工作得很好。

但是,当我尝试将我的webapp部署到“真正的”tomcat服务器时,它不起作用。 我也尝试使用sudo启动tomcat6服务,并将TOMCAT6_USER定义(在/etc/init.d/tomcat6中定义)从“tomcat6”更改为“root”,但没有任何区别。

我该怎么做才能使它工作?

/etc/default/tomcat6 Authbind=yes启动tomcat可以做你想做的事情。

为什么不保持tomcat作为非root用于安全运行,让iptables将端口80转发到8080?

例如在iptables中:

-PREROUTING -p tcp -m tcp –dport 80 -j REDIRECT – 到端口8080