È il modo in cui l'applicazione è impacchettata. Sulla maggior parte * nix l'impostazione predefinita è un utente non privilegiato che non può ascoltare su una porta <1024 e i server Web utilizzano 80 e 443.
Linux 2.2+, Solaris 10+ e FreeBSD consentono comunque agli utenti non root di ascoltare su porte inferiori a 1024, ma non per impostazione predefinita. La maggior parte ha accettato l'uso di root
così rimane in uso.
Oltre all'accesso per il binding alla porta privilegiata, è necessario assicurarsi che l'utente che esegue nginx abbia accesso a tutti i file necessari. Probabilmente non è necessario spingersi fino a questo punto, ma è sufficiente impostare le autorizzazioni corrette per file / directory. Devi anche controllare che gli script di avvio non facciano nulla di subdolo come i ulimit
cambiamenti (come sembra sempre mysql).
setcap
e getcap
ti consente di modificare o visualizzare la cap_net_bind_service
capacità di un eseguibile. Questo sarà valido per chiunque esegua il binario.
setcap cap_net_bind_service=+ep /usr/sbin/nginx
SELinux offre la possibilità di configurare e controllare le capacità a livello di utente.
Impostazioni di sistema di Freebsd
Le impostazioni della porta riservata sono globali per il sistema
sysctl net.inet.ip.portrange.reservedhigh=0
sysctl net.inet.ip.portrange.reservedlow=0
Solaris offre un controllo accurato dei privilegi a livello di utente. Questi sono i privilegi di Apache ma probabilmente funzioneranno anche per nginx.
/usr/sbin/usermod -K defaultpriv=basic,proc_exec,proc_fork,net_privaddr nginx