वर्षों तक लिनक्स के साथ काम करने और कुछ खाली समय के साथ खुद को खोजने के बाद, मैंने कुछ बुनियादी बातों पर फिर से विचार करने का फैसला किया। इसलिए मैंने अनुमतियों के बारे में सामान (स्रोत कोड की जांच किए बिना), और फ़ोल्डरों के लिए इसके विशेष मामलों को फिर से पढ़ा, और फ़ोल्डर अनुमतियों के बारे में सोचने का एक नया (मेरे लिए कम से कम ...) तरीका आया (एक विशिष्ट उपयोगकर्ता के लिए / समूह / अन्य): मैं दो स्तंभों के साथ एक तालिका के रूप में एक फ़ोल्डर की कल्पना करता हूं, जैसे:
filename | inode
foo | 111
bar | 222
पढ़ने की अनुमति का मतलब है आप पढ़ सकते हैं (और सूची) कर सकते हैं तालिका के बाएं स्तंभ, लिखने जोड़ने और मेज पर प्रविष्टियों को हटाने, और करने की अनुमति मेल खाती है पर अमल inode के लिए फ़ाइल नाम से अनुवाद करने में सक्षम होने के लिए अनुमति मेल खाती है; यानी आप फ़ोल्डर की सामग्री का उपयोग कर सकते हैं।
मैंने कुछ प्रयोग किए, और परिणाम मेरे इस "विश्वदृष्टि" के अनुरूप हैं, लेकिन एक निष्कर्ष अपरिहार्य लगता है: कि अनुमतियों वाला एक फ़ोल्डर d-w-------
पूरी तरह से बेकार है। विस्तृत करना: आप इसकी सामग्री को सूचीबद्ध नहीं कर सकते, आप अपने अंदर मौजूद किसी भी फाइल को नहीं पढ़ सकते (क्योंकि आप इनोड में नाम का अनुवाद नहीं कर सकते हैं), आप फ़ाइलों को हटा या नाम बदल या जोड़ नहीं सकते, क्योंकि फिर से इसका अनुवाद होगा। , और आप हार्डलिंक भी नहीं जोड़ सकते हैं (क्योंकि, मुझे पता है, इसका मतलब है कि एक नाम जोड़ने के साथ-साथ एक इनोड संख्या भी होगी, जिसका अर्थ है कि आप दोनों को जानते होंगे, जो बदले में, फिर से surmising, निष्पादन निष्पादन की अनुमति के उद्देश्य का उल्लंघन करता है। । और हां, अगर इस तरह के एक फोल्डर के अंदर फाइलें हैं , तो आप उस फोल्डर को डिलीट नहीं कर सकते, क्योंकि आप उसके कंटेंट को डिलीट नहीं कर सकते।
इसलिए ... मैं दो प्रश्न पूछना चाहूंगा:
- क्या यह मेरा उपमा सही है, या यह एक बड़ी गड़बड़ी है?
- पिछले उत्तर के बावजूद, क्या कोई ऐसी स्थिति है जहां वर्णित के साथ अनुमतियों वाला एक फ़ोल्डर होना उचित है?
mkdir foo ; chmod 200 foo ; touch foo/bar
मेरे जाने के बाद touch: cannot touch ‘foo/bar’: Permission denied
। यह तब भी होता है जब फू / बार पहले से मौजूद है। मैं बैश (आर्क लिनक्स) में परीक्षण कर रहा हूं।