मुझे आपके वेब एप्लिकेशन को कहां से संचालित करना है, इस बारे में बहुत सी सलाह दी जाती है किवेब अनुप्रयोग चलाने के लिए लिनक्स उपयोगकर्ता अनुमतियों के लिए सर्वोत्तम अभ्यास?
उदाहरण के लिए, मैंने इसे देखा है:/var/www/site ,/एसआरवी/www/साइट,/घर/$ उपयोगकर्ता/साइट।
मैंने उपयोगकर्ता को www-data, $ USER (यानी मेरा उपयोगकर्ता खाता), या विशेष रूप से उस उद्देश्य के लिए बनाए गए कस्टम उपयोगकर्ता (उदा। उपयोगकर्ता uwsgi) देखा है।
सुरक्षा के मामले में, मैं कौन सी सबसे अच्छी योजना चुन सकता हूं?
संदर्भ के लिए, मैं एक Django साइट को Nginx और uwsgi के साथ तैनात करने की कोशिश कर रहा हूं।
अभी, यूवीजीआई सम्राट मोड में रूट के रूप में चल रहा है, यूआईडी/गीड www-data के रूप में सेट है, इसलिए Vassals Nginx श्रमिकों के समान अनुमतियों के साथ spawn। मैं/घर से सेवा कर रहा हूं, लेकिन आगे बढ़ने की सोच रहा हूं।
यदि मेरे पास वर्चुअलenv है, तो क्या यह/var/lib/appname/venv के अंतर्गत जाएगा? साथ ही, स्पष्ट होने के लिए, ऐप-उपयोगकर्ता उदाहरण हो सकता है 'uwsgi', लेकिन उपयोगकर्ता द्वारा मैं ssh के माध्यम से लॉग इन नहीं करता (और सुडो अनुमतियां हैं)? – user1431368
एफडब्ल्यूआईडब्ल्यू, मेरा पायथन कोड [Django ट्यूटोरियल] (https://docs.djangoproject.com/en/1.4/intro/tutorial01/) के कारण/घर में रहता है (अनुभाग "यह कोड कहां रहना चाहिए?") – user1431368
हां , 'uwsgi' आपके ऐप उपयोगकर्ता के लिए एक अच्छा विकल्प होगा, जब तक कि आपके पास एक से अधिक ऐप नहीं चलते हैं, इस मामले में आप प्रति-ऐप उपयोगकर्ता चाहते हैं। उपयोगकर्ता को सूडो या लॉगिन अनुमति नहीं होनी चाहिए। जैसा कि ट्यूटोरियल बताता है, सबसे महत्वपूर्ण बात यह है कि आपका कोड आपकी वेब रूट के नीचे न हो। – bonsaiviking