यह जिस तरह से एप्लिकेशन को पैक किया जाता है। अधिकांश * निक्स पर डिफ़ॉल्ट सेटअप एक गैर विशेषाधिकार प्राप्त उपयोगकर्ता है जो पोर्ट <1024 पर नहीं सुन सकता है और वेब सर्वर 80 और 443 का उपयोग करते हैं।
लिनक्स 2.2+, सोलारिस 10+ और फ्रीबीएसडी सभी गैर-रूट उपयोगकर्ताओं को 1024 से कम बंदरगाहों पर सुनने की अनुमति देते हैं, हालांकि डिफ़ॉल्ट रूप से नहीं। अधिकांश ने इसका उपयोग स्वीकार कर लिया है rootइसलिए यह उपयोग में बना हुआ है।
विशेषाधिकार प्राप्त पोर्ट से बांधने के लिए एक्सेस के अलावा, आपको यह सुनिश्चित करने की आवश्यकता है कि उपयोगकर्ता जो नग्नेक्स चला रहा है उसकी सभी फाइलों तक पहुंच है। आपको शायद इस तक जाने की ज़रूरत नहीं है लेकिन बस फाइलों / निर्देशिकाओं पर सही अनुमति दें। आपको यह भी जाँचने की ज़रूरत है कि स्टार्टअप स्क्रिप्ट में ulimitबदलाव (जैसे mysql हमेशा लगता है) की तरह कुछ भी डरपोक नहीं है ।
setcapऔर getcapआपको cap_net_bind_serviceएक निष्पादन योग्य के लिए क्षमता बदलने या देखने दें । यह किसी के लिए भी प्रभावी होगा जो बाइनरी निष्पादित करता है।
setcap cap_net_bind_service=+ep /usr/sbin/nginx
SELinux एक उपयोगकर्ता स्तर पर क्षमताओं को कॉन्फ़िगर और नियंत्रित करने की क्षमता प्रदान करता है।
Freebsd सिस्टम सेटिंग्स
आरक्षित पोर्ट सेटिंग्स सिस्टम के लिए वैश्विक हैं
sysctl net.inet.ip.portrange.reservedhigh=0
sysctl net.inet.ip.portrange.reservedlow=0
सोलारिस उपयोगकर्ता स्तर पर विशेषाधिकारों का ठीक-ठाक नियंत्रण प्रदान करता है। ये अपाचे के लिए विशेषाधिकार हैं, लेकिन वे नगनेक्स के लिए भी काम करने की संभावना है।
/usr/sbin/usermod -K defaultpriv=basic,proc_exec,proc_fork,net_privaddr nginx