हम कैसे जानते हैं कि एक निर्देशिका अपाचे लिखने योग्य है?


21

मुझे बताया गया है कि मुझे एक छवि फ़ोल्डर और एक संपत्ति फ़ोल्डर बनाना चाहिए, और मुझे यह सुनिश्चित करने की आवश्यकता है कि: "वे अपाचे लेखन योग्य हैं"। मुझे ऐप / रनटाइम डायरेक्टरी को वेब-राइट बनाने के लिए भी कहा गया है। क्या यह अपाचे के समान है? यदि ऐसा है तो:

मैं इसे एक बार में कैसे कर सकता हूं, या यह जान सकता हूं?

ls -lमैं कुछ कर रहा हूँ जैसे:

drwxr-xr-x 13 user user 4096 2011-08-26 10:23 app
drwxr-xr-x 4 user user 4096 2011-08-26 10:23 runtime
drwxr-xr-x 2 user user 4096 2011-08-26 11:11 images
drwxr-xr-x 2 user user 4096 2011-08-26 11:12 assets

जवाबों:


24

अपाचे, पृष्ठभूमि में चलने वाला एक कार्यक्रम है। अपाचे मूल रूप से उपयोगकर्ता root(जिसे भी कहा जाता है root-process) द्वारा शुरू किया गया है । यह root-processकई बाल प्रक्रियाओं को लॉन्च करता है जो क्लाइंट अनुरोधों को संभालते हैं। सुरक्षा कारणों से, बच्चे की प्रक्रिया उपयोगकर्ता द्वारा नहीं rootबल्कि न्यूनतम विशेषाधिकार वाले उपयोगकर्ता के रूप में चलाई जाती है । आमतौर पर इस उपयोगकर्ता का नाम apacheया है www-data

अपाचे v1 के लिए यह क्या उपयोगकर्ता है यह जानने के लिए:

ps -ef | grep httpd | grep -v grep

या अपाचे v2 के लिए:

ps -ef | grep apache | grep -v grep

Apache 2 का परिणाम कुछ इस प्रकार होगा:

जड़ 5001 1 0 07:21? 00:00:00 / usr / sbin / apache2 -k शुरू
www-डेटा 5021 5001 0 07:21? 00:00:00 / usr / sbin / apache2 -k शुरू
www-डेटा 5022 5001 0 07:21? 00:00:00 / usr / sbin / apache2 -k शुरू
www-डेटा 5023 5001 0 07:21? 00:00:00 / usr / sbin / apache2 -k शुरू

इस मामले में उपयोगकर्ता / समूह है www-data

इसलिए, वेबसर्वर द्वारा एक निर्देशिका को लिखने योग्य बनाने के लिए हमें अपाचे के मालिक या समूह को निर्देशिका के मालिक या समूह को सेट करना होगा और इसके लिए लिखित अनुमति को सक्षम करना होगा। आमतौर पर, हम अपाचे समूह ( apacheया `www-डेटा या जो बच्चे प्रक्रियाओं को लॉन्च करने के लिए उपयोग किया जाता है) से संबंधित निर्देशिका सेट करते हैं और समूह के लिए लिखने की अनुमति सक्षम करते हैं।

chgrp www-data /path/to/mydir
chmod g+w /path/to/mydir

( ऊपर दिए www-dataगए psकमांड के साथ आपको जो नाम मिला है)।

के बारे में:

2) मुझे ऐप / रनटाइम डायरेक्टरी को वेब-राइट करने के लिए भी कहा गया है। क्या यह अपाचे के समान है?

हां, यह एक निर्देशिका है जिसे आपको समूह अपाचे की उम्मीद करने के लिए लिखने योग्य बनाने की आवश्यकता है। संभवतः यह कहीं न कहीं अंदर होगा /var/www/और इसे /etc/apache2/sites-enabled// या में वर्चुअल होस्ट के रूप में सेट किया गया है/etc/apache2/sites-available


बहुत बहुत धन्यवाद। क्या mkdir के साथ डायरेक्टरी बनाने का कोई तरीका है और उसी समय, उन अनुमतियों को दें?
एमएन

क्या यह सच है कि हम भी कर सकते हैं: chmod -R o + w / या / पाथ / यहाँ? (-R स्पष्ट रूप से विकल्प होने के नाते)। ?
एमएम

हाँ 1 विधि होगी:mkdir dirname && chgrp www-data dirname
रिनजविंड

@ मेम हां। Rजहाँ आप आदेश जारी करते हैं, वहां से सभी डायरियां करेंगे। ऐसा करने के बहुत सारे तरीके हैं;)
रिनविंड

2
ps -ef | grep [a]pachegrepआउटपुट में संयमी रेखा से बचने के लिए एक सामान्य मुहावरा है ।
enzotib
हमारी साइट का प्रयोग करके, आप स्वीकार करते हैं कि आपने हमारी Cookie Policy और निजता नीति को पढ़ और समझा लिया है।
Licensed under cc by-sa 3.0 with attribution required.