admin@glassfish.java.net

Bind glassfish to port 80 as non-privileged user on linux?

From: Sid Womac <disidis667_at_yahoo.com>
Date: Wed, 17 Dec 2008 14:09:53 -0800 (PST)

Hi, just wondering if this is a solved problem, since it seems like it should be. However I haven't stumbled across it yet.

Is there a mechanism or internal property to glassfish configuration that allows glassfish to bind to port 80 on *nix systems? In particular, something like a Redhat or CentOS.

Since ports below 1024 are considered privileged, it requires superuser (ie root) privileges to bind to them. Running as root is quite undesirable from an security standpoint since it could allow privilege escalation, and is very understandably considered a security violation.

I've looked for linux specific tools, and see how it can be done programmatically in C, but I'm not finding a generic OS process across *nix for doing something of this nature.

I have found reference in Weblogic to accomplish this via some internal configuration settings (see below), and was wondering if there is a similar mechanism in glassfish, or something in the documentation that I am missing.

weblogic.system.enableSetUID (Set User ID)
weblogic.system.enableSetGID (Set Group ID)
weblogic.system.nonPrivUser(Non privledged user)
weblogic.system.nonPrivGroup(Non privledged Group)

Thanks in advance for any insight
Sid