C'est la façon dont l'application est packagée. Sur la plupart des * nix, la configuration par défaut est qu'un utilisateur non privilégié ne peut pas écouter sur un port <1024 et les serveurs Web utilisent 80 et 443.
Linux 2.2+, Solaris 10+ et FreeBSD permettent tous aux utilisateurs non root d'écouter sur des ports inférieurs à 1024, mais pas par défaut. La plupart ont accepté l'utilisation de, de root
sorte qu'il reste en usage.
Outre l'accès pour vous connecter au port privilégié, vous devez vous assurer que l'utilisateur qui exécute nginx a accès à tous les fichiers dont il a besoin. Vous n'avez probablement pas besoin d'aller aussi loin que cela, mais simplement de définir les permissions appropriées sur les fichiers / répertoires. Vous devez également vérifier que les scripts de démarrage ne font rien de sournois comme des ulimit
modifications (comme semble toujours le faire mysql).
setcap
et getcap
vous permettent de modifier ou d’afficher la cap_net_bind_service
capacité d’un exécutable. Ce sera en vigueur pour toute personne qui exécute le binaire.
setcap cap_net_bind_service=+ep /usr/sbin/nginx
SELinux offre la possibilité de configurer et de contrôler les capacités au niveau de l'utilisateur.
Paramètres système Freebsd
Les paramètres du port réservé sont globaux pour le système
sysctl net.inet.ip.portrange.reservedhigh=0
sysctl net.inet.ip.portrange.reservedlow=0
Solaris permet un contrôle détaillé des privilèges au niveau de l'utilisateur. Ce sont les privilèges accordés à Apache, mais ils sont également susceptibles de fonctionner pour nginx.
/usr/sbin/usermod -K defaultpriv=basic,proc_exec,proc_fork,net_privaddr nginx