我构建了一个使用 libpcap(通过 jpcap)的 Web 应用程序。
为了能够获取网络接口(interface)列表或绑定(bind)到网络接口(interface),应用程序(在本例中是从 tomcat 服务器运行的 webaap)必须以 root 权限运行。
在开发过程中,我只是使用 root 权限运行 Eclipse (sudo eclipse),我的 web 应用程序与 Eclipse 的本地 tomcat 服务器运行得很好。
但是,当我尝试将我的 web 应用程序部署到“真正的”tomcat 服务器时,它不起作用。 我还尝试使用 sudo 启动 tomcat6 服务,并将 TOMCAT6_USER 定义(在/etc/init.d/tomcat6 中定义)从“tomcat6”更改为“root”,但没有任何区别。
我应该怎么做才能让它发挥作用?
最佳答案
tomcat 初始化脚本中似乎存在错误,因为(正如您正确提到的)/etc/init.d/tomcat 中定义的 TOMCAT6_USER 和 TOMCAT6_GROUP 变量被忽略。阅读脚本一段时间后,我发现可以通过更改“/etc/default/tomcat6”文件中的相同变量来让 Tomcat6 以“root”身份运行。
PS:不要以 root 身份运行 Tomcat
关于tomcat - 以root权限启动tomcat webapp,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/9960018/