Es la forma en que se empaqueta la aplicación. En la mayoría de * nix, la configuración predeterminada es que un usuario no privilegiado no puede escuchar en un puerto <1024 y los servidores web usan 80 y 443.
Sin embargo, Linux 2.2+, Solaris 10+ y FreeBSD permiten a los usuarios no root escuchar en puertos inferiores a 1024, pero no de manera predeterminada. La mayoría ha aceptado el uso de rootmodo que sigue en uso.
Además del acceso para enlazar con el puerto privilegiado, debe asegurarse de que el usuario que ejecuta nginx tenga acceso a todos los archivos que necesita. Probablemente no necesite ir tan lejos como esto, solo configure el permiso correcto en los archivos / directorios. También debe verificar que las secuencias de comandos de inicio no hagan nada astuto como los ulimitcambios (como mysql siempre parece hacer).
setcapy le getcappermite cambiar o ver la cap_net_bind_servicecapacidad de un ejecutable. Esto será efectivo para cualquiera que ejecute el binario.
setcap cap_net_bind_service=+ep /usr/sbin/nginx
SELinux proporciona la capacidad de configurar y controlar capacidades a nivel de usuario.
Configuraciones del sistema Freebsd
La configuración del puerto reservado es global para el sistema
sysctl net.inet.ip.portrange.reservedhigh=0
sysctl net.inet.ip.portrange.reservedlow=0
Solaris proporciona un control detallado de los privilegios a nivel de usuario. Estos son los privilegios para apache, pero es probable que también funcionen para nginx.
/usr/sbin/usermod -K defaultpriv=basic,proc_exec,proc_fork,net_privaddr nginx