कैसे एक निर्देशिका स्थायी रूप से लिखने योग्य बनाने के लिए?


27

मैं विकास के लिए LAMP स्टैक का उपयोग कर रहा हूं और मुझे स्थायी रूप से लिखने योग्य / var / www बनाने में समस्या है। मैं इस कमांड का उपयोग करता हूं:

sudo chmod -R a+rwX /var/www

यह काम करता है, लेकिन वेब ऐप डालने और ब्राउज़र के माध्यम से इसे एक्सेस करने के बाद, यह "अनुमति अस्वीकृत" त्रुटि दिखाता है। जब ऐसा होता है, तो मुझे कमांड को फिर से निष्पादित करना होगा।

मैं फिर से कमांड को चलाने के बिना, निर्देशिका को कैसे स्थायी बना सकता हूं?

धन्यवाद!


1
/var/wwwउस निर्देशिका के लिए एक सबफ़ोल्डर बनाएँ और उसमें बदलाव करें। इस मुद्दे को ठीक करना चाहिए
अनाम अहमद

5
वास्तव में आपको कभी भी वेब रूट को लिखने योग्य नहीं बनाना चाहिए । सुरक्षा कारणों
गोरान मिसकोविच

ये ऊपर कुछ अच्छी टिप्पणियां हैं ... सुरक्षा कारणों को देखते हुए, आपको /var/wwwडिफ़ॉल्ट rwxr-xr-x के लिए अनुमति रखनी चाहिए और आप संभवत: आवश्यक फ़ाइलों को एक उप-निर्देशिका में स्थानांतरित करेंगे /var/wwwऔर तदनुसार अपनी * html फ़ाइलों में बदलाव करेंगे। दस्तावेज़ रूट में आपके द्वारा किए गए परिवर्तनों के लिए।
सटीक

जवाबों:


39

संख्यात्मक अनुमतियाँ आपकी समस्या का समाधान कर सकती हैं।

sudo chmod 775 'your directory'

यदि आप जानना चाहते हैं कि केवल 775 यहां आपका जवाब क्यों है

400 read by owner
040 read by group
004 read by anybody
200 write by owner
020 write by group
002 write by anybody
100 execute by owner
010 execute by group
001 execute by anybody

 400
+040
+004
+200
+020
+100
+010
+001
=775

यह किसी को भी लिखने के अलावा सभी अनुमति देगा।


9

मुझे तब भी यही समस्या थी

sudo chmod 777 directory

उसे हल कर लिया।

यह निर्देशिका को लिखने योग्य, पठनीय और किसी के द्वारा निष्पादन योग्य बनाता है। इसलिए कोई फर्क नहीं पड़ता कि उपयोगकर्ता या समूह के पास इसका स्वामित्व है या लैम्प का उपयोग किया गया है।

हालाँकि, यदि आपके कंप्यूटर की सार्वजनिक पहुँच नहीं है, तो इसकी अनुशंसा नहीं की जाती है।


8

आमतौर पर आपके द्वारा उपयोग की जाने वाली कमांड को स्थायी रूप से अनुमतियों को बदलना चाहिए।

कोशिश करें sudo chmod -R 775 /var/www/(जो मूल रूप से समान है)। यदि वह काम नहीं करता है, तो आपको निर्देशिका के मालिक [और शायद समूह] को बदलने की आवश्यकता हो सकती है sudo chown <user>[:<group>] /var/www/

इसके अलावा, आप अपने डेटाबेस या अन्य जगहों पर अपर्याप्त पहुँच अधिकारों के कारण 'अनुमति से वंचित त्रुटि' पर विचार कर सकते हैं।


लेकिन जैसा कि @schkovich ने पहले ही उल्लेख किया है कि आपको वेब रूट फ़ोल्डर को लिखने योग्य नहीं बनाना चाहिए।
डेविड

13
+ रिनविंड मैंने 777 का इस्तेमाल किया और आपकी यात्रा का धैर्यपूर्वक इंतजार कर रहा हूं।
Marcel

यह मेरे लिए काम किया अगर मैं इसे बिना स्लैश के उपयोग करता sudo chmod -R 775 my_folder
हूं

@ मार्सेल अब मृत लोग हैं, @ रिनविंड ने उन्हें समाप्त कर दिया
धीरज

2
@Marcel हमें कैसे पता चलेगा कि आप असली हैं, क्या होगा अगर @ रिनविंड ने मार्सेल का चेहरा पहना है और उसे पहना है।
धीरज
हमारी साइट का प्रयोग करके, आप स्वीकार करते हैं कि आपने हमारी Cookie Policy और निजता नीति को पढ़ और समझा लिया है।
Licensed under cc by-sa 3.0 with attribution required.