我构建了一个使用libpcap(通过jpcap)的webapp。
为了能够获取网络接口列表或绑定到网络接口,应用程序(在这种情况下是从tomcat服务器运行的webaap)必须以root权限运行。
在开发过程中,我只使用root权限(sudo eclipse)运行Eclipse,并且我的webapp在Eclipse的本地tomcat服务器上工作得很好。
但是,当我尝试将我的webapp部署到“真正的”tomcat服务器时,它无法正常工作。 我还尝试用sudo启动tomcat6服务,并将TOMCAT6_USER定义(在/etc/init.d/tomcat6中定义)从“tomcat6”更改为“root”,但没有区别。
我该怎么做才能让它发挥作用?
答案 0 :(得分:4)
似乎tomcat初始化脚本中存在一个错误,因为(正如你正确提到的),/ etc / init.d / tomcat中定义的TOMCAT6_USER和TOMCAT6_GROUP变量将被忽略。在阅读了一段时间后,我发现可以通过更改相同的变量但在“/ etc / default / tomcat6”文件中将Tomcat6作为“root”运行。
PS:不要以root身份运行Tomcat