Workaround to Have OVD Available on a Unix Port Below 1024, But Started as a Non-Root User
Last updated on SEPTEMBER 15, 2016
Applies to:Oracle Virtual Directory - Version 10.1.4 and later
Information in this document applies to any platform.
Reference <Note 602230.1> - FAQ - Miscellaneous OVD Questions
"How can I run on a port less than 1024 on Unix/Linux as a non-root user?"
Due to the current nature of Java, there is currently not a way to do this.
In order to run OVD on a port less than 1024 (such as 389 or 636), it must be started as root. This is a common problem for every server-side Java application, since only the root user can bind to a port below 1024. This is a security precaution built into the kernel.
Thus, any webserver, ftp server, etc, needs to start up as root, if only to bind to their standard socket numbers. But having a running network server as root is in itself a bad idea, so most server software only remains as root for the time it takes them to establish the initial "listening" socket, then drops to a non-privileged user for the remainder of their operation.
Since OViD is written in Java, it does not have the ability to switch users like this.
The workaround is to install OViD on a port greater than 1024 as a non-root user, and redirect requests to a port less than 1024 that come from outside the server towards that OViD port.
Sign In with your My Oracle Support account
Don't have a My Oracle Support account? Click to get started
Million Knowledge Articles and hundreds of Community platforms