मैं केवल निर्देशिका पर पुनरावर्ती chmod कैसे कर सकता हूं?


31

मैं एक निर्देशिका से पुनरावर्ती सभी निर्देशिकाओं के लिए निष्पादन अनुमति जोड़ने के लिए Centos 4 पर एक पेड़ पर अनुमतियाँ बदलना चाहता हूं। यदि मैं सामान्य chmod का उपयोग करता हूं, तो निर्देशिकाओं के अलावा अन्य फ़ाइलों को भी संशोधित किया जाता है:

chmod -R o+x /my/path/here

मैं केवल निर्देशिकाओं को कैसे प्रभावित कर सकता हूं?

जवाबों:


48

भागो findपर -type d( निर्देशिका के साथ) -execप्राथमिक प्रदर्शन करने के लिए chmodफ़ोल्डरों पर केवल:

find /your/path/here -type d -exec chmod o+x {} \;

यह सुनिश्चित करने के लिए कि यह केवल वांछित वस्तुओं पर प्रदर्शन करता है, आप find /your/path/here -type dपहले बस चला सकते हैं ; यह केवल निर्देशिकाओं का पता लगाएगा।


क्या आप बता सकते हैं कि {} \; कर देता है?
श्रेकेल

2
@Srekel इस जवाब को देखने के askubuntu.com/questions/339015/...
MADforFUNandHappy

17

कमांड लाइन उदाहरण देखें - विकिपीडिया में chmod

chmod -R a-x+X directory    remove the execute permission on all files in 
                            a directory tree, while allowing for directory browsing.

जैसा कि डैनियल ने कहा: यह आपके मामले में काम करना चाहिए:

chmod -R o+X directory

यह निर्देशिकाओं के भीतर फ़ाइलों की वर्तमान अनुमतियों को प्रभावित करेगा।
स्क्रिप्टमनस्टर

@scriptmonster उद्धृत लाइन इस मामले के लिए गलत है, लेकिन chmod -R o+X directoryओपी के लिए काम करना चाहिए।
डैनियल बेक

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

1
find /home/mydir -type d | xargs chmod ugo+rx

यह CentOS6 पर काम करता है, जो उपरोक्त खोज -exec नहीं करता है। मूल रूप से यह सिर्फ xargs कमांड के लिए निर्देशिकाओं की सूची को पाइप करता है जो उन्हें chmod पर भेजता है। चामॉड तब सार्वभौमिक रीड और सेट (खोज) को निर्देशिकाओं पर सेट करता है। घर में उपयोग करने वाले सभी उपयोगकर्ताओं के लिए ऐसा करने के लिए sudo:

sudo sh -c "find /home/ -type d | xargs chmod ugo+rx"
हमारी साइट का प्रयोग करके, आप स्वीकार करते हैं कि आपने हमारी Cookie Policy और निजता नीति को पढ़ और समझा लिया है।
Licensed under cc by-sa 3.0 with attribution required.