chmod -R किसी कारण से बाल फ़ोल्डरों में फाइल करने योग्य बनाता है


22

कुछ वर्डप्रेस थीम सेट करते समय मैं अनुमतियों को समायोजित कर रहा था, और भाग गया chmod 664 -R theme-dir/*यह निर्देशिका की जड़ में फ़ाइलों पर ठीक काम करता है, लेकिन उपनिर्देशिकाओं की सभी फाइलें अब इस तरह से पढ़ती हैं जब मैं ls -l:

?---------  ? ? ? ?            ? core_functions.php
?---------  ? ? ? ?            ? css
?---------  ? ? ? ?            ? custom_functions.php
?---------  ? ? ? ?            ? images
?---------  ? ? ? ?            ? import_settings.php
?---------  ? ? ? ?            ? js
?---------  ? ? ? ?            ? options_trim.php
?---------  ? ? ? ?            ? page_templates
?---------  ? ? ? ?            ? post_thumbnails_trim.php
?---------+ ? ? ? ?            ? shortcodes

मैं किसी भी उपनिर्देशिका के लिए सीडी नहीं कर सकता, और मैं उन्हें हटा भी नहीं सकता। मैंने कभी ऐसा कुछ नहीं देखा है, कोई भी कभी भी कुछ इसी तरह से चलता है?


दूषित फ़ाइल सिस्टम की तरह दिखता है ..
alexus

1
रनchmod -R u+rwX,go+rX,go-w theme-dir/*
दुसन बाजिक

@ dusan.bajic काम किया, धन्यवाद। फिर भी पता नहीं क्यों यह पहली जगह में हुआ था।
साल

5
@alexus कोई भ्रष्टाचार नहीं है, सिर्फ परमिट
chicks

मुझे लगता है कि मैं कुछ ऐसा देखा कि जब मैं chown था 644 (या जो भी) chmod बनाम, लेकिन मैं वास्तव में एक काम कर प्रणाली पर फिर से परीक्षण की तरह नहीं लग रहा है
टेलीफोन

जवाबों:


49

किसी निर्देशिका की सामग्री (या विशेष रूप से फ़ाइल नाम के अलावा मेटाडेटा) तक पहुँच के लिए यह आवश्यक है कि निर्देशिका में निष्पादित बिट सेट हो।

आपके पुनरावर्ती chmod ने उस अनुमति को हटा दिया, इसलिए आपने वह एक्सेस खो दिया। यदि आप अनुमतियों के सांख्यिक संस्करण का उपयोग करने से बचने के लिए बेहतर -Rविकल्प का उपयोग कर रहे हैं chmod, और इसके बजाय चलाएँ (उदाहरण के रूप में अपनी इच्छित स्थिति का उपयोग करके) chmod -R ug=rwX,o=rX। राजधानी X का मतलब है कि X बिट केवल निर्देशिकाओं या फ़ाइलों पर xसेट करें जिनके पास कम से कम एक सेट है। साथ ही आप 644 ( u=rwX,go=rX) का उपयोग करना चाह सकते हैं जब तक कि आपको लिखने के लिए वास्तव में समूह उपयोगकर्ताओं की आवश्यकता न हो।


6
X का अर्थ है उन निर्देशिकाओं और फ़ाइलों पर X सेट करना, जिनके पास पहले से ही कुछ उपयोगकर्ता की अनुमति है (जो आमतौर पर आप चाहते हैं)
tomclegg

1
@tomclegg: सही है। मैंने अपने उत्तर को उचित रूप से अद्यतन किया। यह अजीब लगता है कि उन्होंने कभी भी एक वास्तविक निर्देशिका विशिष्ट संस्करण नहीं जोड़ा, या इससे भी बेहतर संचालन पत्र (जैसे कि यू, जी, ओ, या ए) का अर्थ है कि यह परिवर्तन केवल निर्देशिकाओं पर लागू होता है।
केविन कैथार्ट

13

से Wordpress प्रलेखन :

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

निर्देशिकाएँ के लिए:

find /path/to/your/wordpress/install/ -type d -exec chmod 755 {} \;

फ़ाइलों के लिए:

find /path/to/your/wordpress/install/ -type f -exec chmod 644 {} \;

इस विशेष समस्या के लिए एक ओवरकिल है, लेकिन अन्य मामलों में बहुत उपयोगी है :)
नुरची

1
मैंने हाल ही में अधिक सुरक्षा संवेदनशील वातावरण (मैगेंटो और हेल्थ केयर सिस्टम) में देखा है कि विक्रेता और ओपन सोर्स सिस्टम केवल फ़ाइल पद्धति का उपयोग करने की सिफारिश करने के लिए आगे बढ़ रहे हैं क्योंकि यह आपको उपरोक्त स्थिति पर पतंग का नियंत्रण प्रदान करता है और ठीक दानेदार नियंत्रण की भी अनुमति देता है। सेट्युड, सेटगिड और भी बदनाम "चिपचिपा सा" का अनुप्रयोग। यह संभवतः इस उपयोग के मामले के लिए मैप करने के लिए अधिक काम है लेकिन शर्त का जवाब हमेशा सबसे सुरक्षित तरीका है जो वांछित परिणाम प्राप्त करता है। मेरा मानना ​​है कि सुरक्षा हमेशा सुविधा # 1 होनी चाहिए अगर इसका खर्च वहन करना संभव हो।
ब्रायन 'बीजे' हॉफपॉयर जूनियर
हमारी साइट का प्रयोग करके, आप स्वीकार करते हैं कि आपने हमारी Cookie Policy और निजता नीति को पढ़ और समझा लिया है।
Licensed under cc by-sa 3.0 with attribution required.