मुझे वेब रूट पर कौन सी फ़ाइल अनुमतियाँ सेट करनी चाहिए?


53

मैं Ubuntu सर्वर 10.10 का उपयोग करता हूं और Nginx वेब सर्वर के साथ स्थापित किया है apt-get install nginx। यह एक डिफ़ॉल्ट वेब पेज बनाता है /var/www/nginx-default/और उस निर्देशिका की अनुमति है drwxr-xr-x 2 root root

जब मैं डिफ़ॉल्ट साइट पर पहुंचता हूं तो मुझे http://localhost/यह संदेश पृष्ठ पर मिलता है 403 Forbidden

मुझे www रूट पर फ़ाइल अनुमतियों को कैसे सेट करना चाहिए ताकि मैं वेब पेजों तक पहुंच को सुरक्षित कर सकूं? या फिर कुछ और है जिसे मुझे बदलना है?


ध्यान दें: पूरे पूरा पथ अपने अंतिम फ़ोल्डर के लिए सुलभ होना चाहिए! बीच में एक फोल्डर भी नहीं।
लुसियो

जवाबों:


33

मैं आमतौर पर अपने वेब रूट पर 755(या rwxr-xr-x) चिपका रहता हूं, लेकिन मुझे नहीं लगता कि यह वह समस्या है जिसे आप चला रहे हैं क्योंकि आपकी निर्देशिका पहले से ही सेट है। nginxआपकी निर्देशिका तक पहुंच होनी चाहिए। सवाल तब अनुमतियों (या अस्तित्व) का हो जाता है जिस फ़ाइल तक आप पहुँचने की कोशिश कर रहे हैं। उपयोगकर्ता द्वारा आपकी निर्देशिका के भीतर की फ़ाइलों को पढ़ने योग्य बनाने की आवश्यकता होगी nginx। मैं आमतौर पर इन फ़ाइलों को 755(निर्देशिका के समान) सेट करता हूं । आप पूरी निर्देशिका को बदल कर कर सकते हैं sudo chmod -R 755 /var/www/nginx-default/

यदि निर्देशिका में कोई अनुक्रमणिका फ़ाइल नहीं है, फिर भी, आपको अभी भी वही त्रुटि मिलेगी। इंडेक्स फ़ाइल का उपयोग तब किया जाता है जब आप एक निर्देशिका का अनुरोध करते हैं जिसमें निर्देशिका लिस्टिंग सक्षम नहीं होती है। सबसे सामान्य सूचकांक फ़ाइल है index.html। इस डिफ़ॉल्ट को आपके कॉन्फिगर में संपादित किया जा सकता है, हालांकि, कुछ का उपयोग करके:

location / {
    index index.php;
}

यदि आप nginxउस निर्देशिका में फ़ाइलों की सूची बनाना चाहते हैं, तो बस निर्देशिका अनुक्रमण चालू करें , जैसे:

location  /  {
  autoindex  on;
}

नहीं, मेरे पास index.htmlउस निर्देशिका में नहीं है।
जोनास

आपकी क्या अनुमति है index.html?
जैक एम।

धन्यवाद, कन्फ़्यूज़न फ़ाइल वास्तव में इंगित की गई थी /var/www/और जनरेट की गई index.htmlथी, /var/www/nginx-default/इसलिए मुझे उस फ़ाइल की प्रतिलिपि बनाना पड़ा, cp /var/www/nginx-default/index.html /var/www/उसके बाद मैं अपने वेब ब्राउज़र के साथ साइट पर जा सका।
जोनास

56

मैं सुझाव www-dataदूंगा कि अपने वेबरूट के समूह को , nginx द्वारा उपयोग किए जाने वाले उपयोगकर्ता और php5-fpm पर भी बदलें।

उदाहरण के लिए:

sudo chown -R "$USER":www-data /webdirectory
sudo chmod -R 0755 /webdirectory

जहां मेरा उपयोगकर्ता आपका अपना खाता है (जो आपको सुडो के बिना अपने वेबरोट में आसान फ़ाइलों को रखने में सक्षम बनाता है)।


धन्यवाद, आज्ञाओं को बिना किसी समस्या के निष्पादित किया गया है, लेकिन मुझे अभी भी 403 Forbiddenवेब ब्राउज़र के साथ इसे स्वीकार करते समय मिलता है।
जोनास

@ जोनास, मैं यह देखने के लिए कि क्या समस्या थी, अपने नग्नेक्स त्रुटि लॉग की जांच करने का सुझाव दूंगा।
पीटर स्मिट

धन्यवाद, मुझे त्रुटि मिली, यह त्रुटि लॉग में थी। जैक जवाब के लिए मेरी टिप्पणी देखें।
जोनास

4
नई फ़ाइलों के बारे में क्या?
mcont

@MatteoContrini उपयोग chmod 2755 webdirectory/वे एक ही अनुमतियों और अधिकारों के साथ संग्रहीत किए जाते हैं
rhand
हमारी साइट का प्रयोग करके, आप स्वीकार करते हैं कि आपने हमारी Cookie Policy और निजता नीति को पढ़ और समझा लिया है।
Licensed under cc by-sa 3.0 with attribution required.