Setting User Privileges
It is sometimes necessary to run a network application with root (superuser) privileges. Common reasons for doing this include the following:
To open a socket on a privileged port, you want the application to bind a well-known port in the reserved 1–1023 range, for example the HTTP (Web) port number 80. On UNIX systems the application must be running as root to dothis.
To open a log or PID file, you want to create a log or PID file in a privileged location, such as /var/run. The application must be running as root to create the file and open it for writing.
Even though a particular network application must start as root in order to open privileged ports or files, it generally isn't desirable to remain running as root. ...