2

I built a webapp that uses libpcap (via jpcap).

In order to be able to get the network interfaces list or to bind to a network interface, the application (in this case a webaap that runs from tomcat server) must be running with root privileges.

During development I simply ran Eclipse with root privileges (sudo eclipse) and my webapp worked just fine with Eclipse's local tomcat server.

However, when I try to deploy my webapp to the "real" tomcat server, it isn't working. I Also tried to start the tomcat6 service with sudo and changed the TOMCAT6_USER definition (defined in /etc/init.d/tomcat6) from "tomcat6" to "root" but it made no difference.

What should I do to make it work?

Hagay Myr
  • 21
  • 2

2 Answers2

1

Starting tomcat with Authbind=yes in /etc/default/tomcat6 may do what you want.

user9517
  • 114,104
  • 20
  • 206
  • 289
0

Why not keep tomcat running as non root for security and let iptables forward port 80 to 8080?

Ex in iptables:

-A PREROUTING -p tcp -m tcp --dport 80 -j REDIRECT --to-port 8080

ckliborn
  • 2,750
  • 4
  • 24
  • 36
  • I'n not quite sure I understand what you suggested. How this will make the webapp privileged so the libpcap use in it will be possible? – Hagay Myr Apr 01 '12 at 22:13