Begitulah cara aplikasi dikemas. Pada kebanyakan * nix pengaturan default adalah pengguna yang tidak memiliki hak istimewa tidak dapat mendengarkan pada port <1024 dan server web menggunakan 80 dan 443.
Linux 2.2+, Solaris 10+ dan FreeBSD semuanya memungkinkan pengguna non-root untuk mendengarkan pada port yang lebih rendah dari 1024, hanya saja tidak secara default. Sebagian besar telah menerima penggunaan root
sehingga tetap digunakan.
Selain akses untuk mengikat port istimewa Anda perlu memastikan pengguna yang menjalankan nginx memiliki akses ke semua file yang dibutuhkan. Anda mungkin tidak perlu pergi sejauh ini tetapi hanya mengatur izin yang benar pada file / direktori. Anda juga perlu memeriksa bahwa skrip startup tidak melakukan ulimit
perubahan licik seperti perubahan (seperti tampaknya mysql selalu).
setcap
dan getcap
membiarkan Anda mengubah atau melihat cap_net_bind_service
kemampuan untuk dieksekusi. Ini akan berlaku bagi siapa saja yang mengeksekusi biner.
setcap cap_net_bind_service=+ep /usr/sbin/nginx
SELinux menyediakan kemampuan untuk mengkonfigurasi dan mengontrol kemampuan di tingkat pengguna.
Pengaturan sistem freebsd
Pengaturan port yang dicadangkan bersifat global ke sistem
sysctl net.inet.ip.portrange.reservedhigh=0
sysctl net.inet.ip.portrange.reservedlow=0
Solaris memberikan kontrol halus atas hak istimewa di tingkat pengguna. Ini adalah hak istimewa untuk apache tetapi mereka cenderung bekerja untuk nginx juga.
/usr/sbin/usermod -K defaultpriv=basic,proc_exec,proc_fork,net_privaddr nginx