सवाल मैं लिनक्स में सभी उपयोगकर्ताओं को फ़ोल्डर की लेखन-पहुंच कैसे दे सकता हूं?


मैंने अभी उबंटू पर अपाचे 2 स्थापित किया है, और देखा है कि / var / www फ़ोल्डर सुरक्षित है। मैं बस कर सकता हूँ sudo सब कुछ लेकिन मैं बस इसे लिखने के लिए पहुंच देना होगा।

मैं यह कैसे कर सकता हूँ?

मैंने कोशिश की sudo chmod 7777 /var/www लेकिन यह काम नहीं किया।


168
2017-08-06 23:30


मूल


क्या यह सार्वजनिक रूप से सुलभ सर्वर है, या क्या इसका इंटरनेट से कोई सीधा संबंध नहीं है? यदि पूर्व यह महत्वपूर्ण है कि आप सुरक्षा निर्णयों पर विचार करें - इंटरनेट पर सर्वर लगातार हमले में हैं (आपके / var / log / संदेशों या समकक्ष में एक नज़र डालें)। - kwutchak
यह सिर्फ मेरा लैपटॉप है, यह इंटरनेट से उपलब्ध नहीं है। - Carson Myers


जवाब:


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

sudo usermod -a -G www-data <some_user>

फिर / var / www पर सही अनुमतियां सेट करें।

sudo chgrp -R www-data /var/www
sudo chmod -R g+w /var/www

इसके अतिरिक्त, आपको नीचे निर्देशिका और सभी निर्देशिकाएं "जीआईडी ​​सेट करें" बनाना चाहिए, ताकि सब कुछ नया फाइलें और निर्देशिकाएं बनाई गईं /var/www के स्वामित्व में हैं www-data समूह।

sudo find /var/www -type d -exec chmod 2775 {} \;    

में सभी फाइलें खोजें /var/www और मालिक और समूह के लिए पढ़ने और लिखने की अनुमति जोड़ें:

sudo find /var/www -type f -exec chmod ug+rw {} \;

यदि आप अपने खाते के लिए अनुमति संपादित कर रहे हैं तो आपको परिवर्तन करने में सक्षम होने के लिए लॉग आउट करना होगा और वापस लॉग इन करना होगा।


295
2017-08-07 00:15



यह बहुत कठिन है ... मैं सिर्फ उपयोगकर्ताओं को इसका उपयोग नहीं कर सकता, जैसे कि यह कोई अन्य फ़ोल्डर था? - Carson Myers
उस है आप इसे कैसे पहुंचते हैं। एक ही चीज करने के लिए जीयूआई फ़ाइल मैनेजर के संवादों के माध्यम से नेविगेट करने की कोशिश करने से कमांड कॉपी और पेस्ट करना तेज़ है। दीर्घकालिक यह आपकी मदद करता है अगर आप कम से कम ("मैन chmod") chmod और chgrp के लिए मैन्युअल पृष्ठ पढ़ते हैं। - jtimberman
शायद मैंने पहली बार इसे पढ़ते समय कमांड को नहीं समझा, और आपका संपादन इसे और अधिक स्पष्ट बनाता है। - Carson Myers
Apache अनुमतियों को बल देने के लिए guid के लिए +1। 027 के उमास्क के साथ अच्छी तरह से काम करता है। अगर किसी को कुछ लिखने की ज़रूरत है, तो यह आसान है जैसे chmod g + w dir / - LiraNuna
आपका समूह अनुमति आदेश क्यों है sudo chmod -R g+w और नहीं g+rw या g+rwX? - detly


ऐसा करने का एक आसान तरीका है, इस आदेश को करने का प्रयास करें।

sudo chmod -R 757 /var/www

अनिवार्य रूप से, chmod कमांड अनुमतियों को बदलता है और -R स्विच सभी उपयोगकर्ताओं को प्रभावित करता है। फिर यह केवल उपयोग करने के लिए सही अनुमति दे रहा है।


25
2017-09-22 10:31



क्या आप ओपी के लिए आदेश क्या कमांड पर कुछ अंतर्दृष्टि दे सकते हैं? - n0pe
स्पष्टीकरण की कमी के लिए -1। के अतिरिक्त, chmod $permissions -R $file मान्य नहीं है ... - Blacklight Shining
यह विकल्प है तो अनुमतियाँ अन्य तरीकों से नहीं - Moataz Elmasry
sudo chmod -R 757 /var/www - Bwyss
कृपया किसी को अनुभवी इस बारे में संक्षिप्त स्पष्टीकरण के साथ एक संपादन का सुझाव दें। - Adi Prasetyo


पढ़ें + लिखें:

sudo chmod -R a+rw /var/www

पढ़ें + लिखें + निष्पादित करें:

sudo chmod -R a+rwx /var/www

23
2017-08-09 19:22





आप jtimberman का उपयोग करने का सुझाव देने के लिए भी दोहराना कर सकते हैं अभिगम नियंत्रण सूचियांsetfacl आदेश एक मौजूदा एसीएल या -एम को संशोधित करने के लिए स्वीकार करता है; निर्देशिका एसीएल रिकर्सिव बनाने के लिए आरआर; और निर्दिष्ट सेटिंग्स को डिफ़ॉल्ट बनाने के लिए, जो उपयोगी है यदि आप आने वाले उपयोगकर्ता खातों की उम्मीद कर रहे हैं।

ये सिर्फ chmod का उपयोग कर उपयोगकर्ता, समूह, अन्य, और मुखौटा के लिए अनुमतियों को सेट करते हैं:

setfacl -m u::rwx, g::r-x, o::---, m:rwx DIRECTORY

और यह हो सकता है कि आप किसी निर्दिष्ट उपयोगकर्ता या उसके समूह के लिए ऐसा कैसे करेंगे:

setfacl -m u:USERNAME:rwx, g:USERNAME:r-x DIRECTORY

और निश्चित रूप से, ताकत यह है कि आप किसी भी विशिष्ट उपयोगकर्ता, एकाधिक उपयोगकर्ताओं, आदि को अपने समूह सेटिंग्स को संशोधित किए बिना निर्दिष्ट कर सकते हैं। और chmod के विपरीत, यदि आप चाहते हैं कि कुछ समूहों को केवल एक दूसरे तक पहुंच प्राप्त करने के लिए एक निर्देशिका और अन्य समूह तक पहुंच प्राप्त हो, तो यह वास्तव में setfacl के साथ संभव है। अंत में, निर्देशिका के एसीएल देखने के लिए, चलाएं getfacl:

getfacl DIRECTORY

और आप उपनिर्देशिका के लिए एसीएल देखने के लिए -R को डिफ़ॉल्ट रूप से देखने के लिए निर्दिष्ट कर सकते हैं।


7
2017-08-08 12:29



यह सबसे अच्छा जवाब है! इच्छा है कि मैं इसे एक से अधिक बार वोट दे सकता हूं। - Tim Duncklee


त्वरित और आसान जवाब -

ए। जोड़ें (-ए) आपका उपयोगकर्ता (उपयोगकर्ता नाम) समूह के लिए (जी) www-डेटा

sudo usermod -a -G www-data user_name

ख। समूह दें (जी) वही (=) मालिक के रूप में अनुमति उपयोगकर्ता (यू) का / Var / www पुनरावर्ती (आर)।

sudo chmod -R g=u /var/www

स्पष्टीकरण: डेबियन / उबंटू पर अपाचे 2 उपयोगकर्ता और समूह सेट करता है www-डेटा के मालिक के रूप में / Var / www। उपयोगकर्ता के लिए डिफ़ॉल्ट अनुमतियां "सामग्री देखें और संशोधित करें" हैं, हालांकि समूह केवल "सामग्री देखें" हो सकता है। तो स्वयं को www-data समूह में जोड़ना और इसे wwww-data उपयोगकर्ता के समान अनुमति देना, विकासशील होने का एक तेज़ और आसान तरीका है। मैं अपने सभी लोकहोस्ट (पीसी / लैपटॉप) वेब विकास वातावरण के लिए ऐसा करता हूं।


2
2018-02-20 02:20





मैं टाइपिकल उपयोग करते हैं

chmod g+w /folder/ -R

यह लगभग आत्म-व्याख्या है।

यह सबको जोड़ता है gका रस /folder/ रखने के लिए wसंस्कार का उपयोग (+w), -R उप फ़ोल्डर्स के लिए रिकर्सन के लिए है।


1
2018-03-19 21:13





क्या आप बस कोशिश कर सकते हैं chmod 0777 /var/www ?

चेतावनी का एक शब्द: यदि आप सभी को इस फ़ोल्डर तक पहुंचने देते हैं, तो इसका मतलब है कि यदि वे आपके सिस्टम तक पहुंच प्राप्त करते हैं तो हैकर्स इस फ़ोल्डर तक पहुंच सकते हैं। यही कारण है कि अनुमत उपयोगकर्ताओं का समूह बनाना बेहतर है, और उस समूह को पहुंच लिखने दें।


-3
2017-08-07 02:01



तो इसे एक समाधान के रूप में क्यों पेश करें, और फिर तुरंत इसे बदनाम करें? -1 वोट - Tisch