किसी फ़ोल्डर और उसके उप फ़ोल्डर और फ़ाइलों को रीड राइट की अनुमति कैसे दें?


10

मैंने अपनी लोकलहोस्ट फ़ाइल के स्वामित्व को /var/www/उसके उप-फ़ोल्डरों में बदल दिया है और इसे 777 की अनुमति दी है। हालाँकि, जब भी मैं इसमें एक नया फ़ोल्डर जोड़ता हूँ, तो नए फ़ोल्डर को स्वचालित रूप से वह अनुमति नहीं मिलती है। मैं हमेशा के लिए एक फ़ोल्डर 777 की अनुमति कैसे दे सकता हूं ताकि यदि मैं एक नया फ़ोल्डर या फ़ाइल जोड़ूं तो उसे वही अनुमति मिलती है?



777 एक बुरा विचार है । लेकिन ACL का उपयोग करना बहुत अच्छी तरह से फिट हो सकता है। क्या आप एसीएल पर इस समाधान को देखने के लिए कृपया पढ़ेंगे कि क्या यह आपके लिए अच्छा काम करता है?

1
संबंधित, सभी निर्देशिकाओं find . -type d -exec chmod 777 {} +को बदलने के लिए आप सभी निर्देशिकाओं को 777 में बदलने के लिए उपयोग कर सकते हैं। याद रखें, आपको बेहतर परिणामों के लिए रूट के रूप में लॉग इन होना चाहिए, और सुनिश्चित करें कि आप फ़ोल्डर में हैं।
Redy S

जवाबों:


1

नव निर्मित फ़ाइलों के लिए अनुमतियाँ umask द्वारा निर्धारित की जाती हैं


क्या आप / var / www / लिखने योग्य बनाने के लिए कमांड लिख सकते हैं और इसे अनुमति दे सकते हैं जैसे कि मुझे हाल ही में इसमें जोड़े गए साइट के लिए समान अनुमति (777) मिलती है।
कमल

1
अपने वेबसर्वर को 777 अनुमति देना अच्छा नहीं है।
साजी ji ९

क्या आप अधिक विवरण जोड़ सकते हैं।
साजी 89 ९

@ वोजटेक ट्रेफनी। लिंक फिलहाल काम नहीं कर रहा है। यह 404 नहीं मिला।
all4naija

12

आप किसी भी समय पुनरावर्ती विकल्प का उपयोग कर सकते हैं। sudo chown -R username /var/www


आप और अधिक upvotes की जरूरत है!
शेहरार

10

जैसा कि दूसरों ने पहले ही उल्लेख किया है , 777 पर अनुमति देना /var/wwwवास्तव में एक बुरा विचार है, खासकर उत्पादन में।

एक बेहतर समाधान केवल उन उपयोगकर्ताओं को लिखित अनुमति देना होगा, जिन्हें फ़ाइलों को संशोधित करने की आवश्यकता है। ऐसा करने के तरीकों में से एक है:

  • एक नया समूह बनाएं

  • /var/wwwउस समूह में डेटा को संशोधित करने की आवश्यकता वाले उपयोगकर्ता को जोड़ें

  • पुन: /var/wwwउस समूह के स्वामित्व को बदल देता है

  • सभी नई बनाई गई फ़ाइलों umaskपर सेट /var/wwwउस समूह के स्वामित्व में है जिसे हमने बनाया है।

एक और विकल्प एसीएल का उपयोग करना होगा, फिर से, केवल उन उपयोगकर्ताओं को लिखने की अनुमति देने के लिए जिन्हें उनकी आवश्यकता है।

यहां सर्वरफॉल्ट पर विस्तृत निर्देश दिए गए हैं

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


2

आपको /etc/apache/envvarsअपनी पसंद के संपादक के रूप में रूट करना चाहिए ।

उदाहरण: ALT+F2
gksudo gedit /etc/apache2/envvars

फ़ाइल के अंत में जाएं और एक पंक्ति जोड़ें umask XXX

जहां ऑमस्क वांछित अनुमतियों के मूल्य के विपरीत बाइनरी है।
774 के लिए यह 003 होगा। 777 बुरे विचार के लिए यह 000 होगा।

सहेजें।

फिर से शुरू करें।

उदाहरण: sudo apache2ctl restart

यह केवल उन फ़ाइलों / फ़ोल्डरों को प्रभावित करेगा जो अपाचे उपयोगकर्ता द्वारा बनाए गए हैं।

उपयोगकर्ता, समूह या किसी भी स्लॉट में अतिरिक्त नोट, पढ़ना और लिखना 6 है।


0

इसके अलावा, कुछ "आउट ऑफ द बॉक्स" समाधान विभिन्न फ़ोल्डर का उपयोग करने के लिए अपने http सर्वर को कॉन्फ़िगर करना है। यदि आप अपाचे का उपयोग करते हैं, तो बस इसे कॉन्फ़िगर करें फ़ाइलों को संपादित करें। इस तरह से आपको / var / www चुड़ैल के लिए अनुमतियाँ बदलने की ज़रूरत नहीं है, यह बुरा विचार (संभावित सुरक्षा मुद्दे) हो सकता है।

और umask आपके प्रश्न का उत्तर है। इसका उपयोग नव निर्मित फ़ोल्डर्स और फ़ाइलों के लिए डिफ़ॉल्ट विशेषाधिकारों को प्रतिबंधित करने के लिए किया जा सकता है। और वितरण डेवलपर्स इसका उपयोग कुछ सिस्टम फ़ोल्डरों तक पहुंच को प्रतिबंधित करने के लिए करते हैं।


0

मुझे लगता है कि आप /var/wwwफ़ाइलों और डायरियों को संशोधित करने के लिए लिखना चाहते हैं । मुझे लगता है कि सबसे अच्छा समाधान स्थापित करना है apache2-mpm-itkऔर वर्चुअल होस्ट कॉन्फिगर फाइल ऐड में /etc/apache2/sites-available/default:

<IfModule mpm_itk_module>
    AssignUserId your-username your-group
</IfModule>

और chown your-username\: /var/www -Rvइस तरह से अपाचे को चलाएं कि वर्चुअल होस्ट आपके यूआईडी / जीआईडी ​​के साथ चलेगा और आप फाइलों को एडिट कर पाएंगे। यहां तक ​​कि PHP द्वारा बनाई गई फ़ाइलों में आपका UID / GID होगा

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