एक फ़ोल्डर निष्पादन योग्य क्यों होना चाहिए?


29

फ़ाइलों के लिए अनुमति:

chmod 664 myFile // rw-rw-r--

और फ़ोल्डरों के लिए:

chmod 774 myFolder // rwxrwxr--

यदि मैं केवल "रीड एंड राइट" अनुमति का उपयोग करता हूं, तो फ़ोल्डर्स उनकी सामग्री नहीं दिखाएंगे।

इसका क्या कारण है?

जवाबों:


14

चूंकि आप किसी निर्देशिका को 'निष्पादित' नहीं कर सकते हैं, इसलिए निष्पादित बिट को बेहतर उपयोग के लिए रखा गया है। किसी निर्देशिका पर निष्पादित बिट आपको निर्देशिका के अंदर मौजूद आइटम तक पहुंचने की अनुमति देता है, भले ही आप निर्देशिका सामग्री को सूचीबद्ध न कर सकें।

$ mkdir -p dir/
$ echo 'Hello World!' > dir/file
$ chmod 000 dir/
$ ls -al dir/
ls: cannot open directory dir: Permission denied
$ cat dir/file
cat: dir/file: Permission denied
$ chmod +x dir/
$ ls -al dir/
ls: cannot open directory dir: Permission denied
$ cat dir/file
Hello World!

से chmodमैनपेज:

प्रभावित उपयोगकर्ताओं के लिए अक्षर rwxXst फ़ाइल मोड बिट्स का चयन करें: पढ़ें (r), लिखें (w), निष्पादित करें (या निर्देशिकाओं की खोज करें) (x) , निष्पादित करें / खोजें तभी करें जब फ़ाइल निर्देशिका हो या पहले से ही कुछ के लिए अनुमति निष्पादित हो। उपयोगकर्ता (एक्स), सेट उपयोगकर्ता या समूह आईडी निष्पादन (ओं) पर, प्रतिबंधित विलोपन ध्वज या चिपचिपा बिट (टी)।


42

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

निर्देशिकाओं के लिए, लिखने से इसके अंदर नई फाइलें बनाने की अनुमति मिलती है।

आपको इसके अंदर की फाइलों को सूचीबद्ध करने की अनुमति देता है।

निष्पादित आपको इसे दर्ज करने और फ़ाइलों (या अन्य निर्देशिकाओं) को अंदर एक्सेस करने की अनुमति देता है।


2
याद रखने का एक आसान तरीका है किसी चीज़ पर डबल-क्लिक के रूप में निष्पादित करने की कल्पना करना। जब आप निर्देशिका को डबल-क्लिक करते हैं (या cd) आप इसे दर्ज (निष्पादित) करते हैं।
जॉन टी।

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

क्या "एक्सेस फाइल्स (या अन्य डाइरेक्टरीज़)" का मतलब है कि मैं फाइल्स को देख सकता हूँ, उन्हें सूचीबद्ध कर सकता हूँ, लेकिन उन्हें देख नहीं सकता या मैं फाइल्स को देख सकता हूँ, उन्हें लिस्ट कर सकता हूँ और उन्हें पढ़ सकता हूँ?
वदसंबर


1

"निष्पादित" बिट का वास्तव में अर्थ है "खोज" जब निर्देशिकाओं ( man chmod) से लागू किया जाता है । यह उचित लगता है क्योंकि निष्पादन के लिए निर्देशिका का कोई अर्थ नहीं है।


0

xएक फ़ोल्डर पर बिट अनुक्रमण / निर्देशिका खोज / लिस्टिंग को संदर्भित करता है; यदि आप उस बिट को कम रखते हैं तो उनमें से कोई भी संभव नहीं है।

यहाँ इसके उपयोग का एक उदाहरण है: यदि आप कहते हैं कि हर निर्देशिका लेकिन अपने घर पर ही सीमित पढ़ने के लिए अनुमतियां के साथ एक उपयोगकर्ता करना चाहते हैं /home/dummy, तो आप बनाने की जरूरत है /और /homeहै xबिट सेट, अन्यथा वह भी अपने घर निर्देशिका के लिए प्राप्त नहीं कर सकते।

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