यदि कोई उपयोगकर्ता नहीं पहुंच सकता है /a/b
, तो वे किसी भी फ़ाइल के अंतर्गत नहीं पहुँच सकते हैं /a/b/c
। /a/b/c
निर्देशिका ट्रैवर्सल के रुकने के बाद अनुमतियाँ अप्रासंगिक हैं /a/b
।
यदि आप चाहते हैं कि निर्देशिका /a/b
को सूचीबद्ध होने से रोका जाए , लेकिन आप उन फ़ाइलों तक पहुँचने वाले उपयोगकर्ताओं के साथ ठीक हैं /a/b
यदि वे किसी फ़ाइल नाम का अनुमान लगाते हैं, तो आप /a/b
निष्पादन योग्य बना सकते हैं, लेकिन पठनीय नहीं। एक निर्देशिका पर, पढ़ने की अनुमति केवल निर्देशिका सामग्री को सूचीबद्ध करने को नियंत्रित करती है, जबकि निष्पादित अनुमति उस निर्देशिका की प्रविष्टियों तक पहुंच को नियंत्रित करती है।
# chmod u=rwx,go=x /a/b
# chmod u=rwx,go=rx /a/b/c
# echo 'hello' >/a/b/existingfile
# su bob -c 'ls -l /a/b'
ls: /a/b: Permission denied
# su bob -c 'cat /a/b/nosuchfile'
cat: /a/b/nosuchfile: No such file or directory
# su bob -c 'cat /a/b/existingfile'
hello
# su bob -c 'ls -l /a/b/c'
… contents of /a/b/c …
यदि आप नहीं चाहते हैं कि अन्य उपयोगकर्ता फ़ाइलों को एक्सेस करने में सक्षम /a/b
हों /a/b/c
, तो आप /a/b/c
एक अन्य दृश्य के माध्यम से, बाइंड माउंट के माध्यम से उजागर कर सकते हैं ।
# chmod u=rwx,go=x /a/b
# chmod u=rwx,go=rx /a/b/c
# mkdir /c
# mount --bind /a/b/c /c
# su bob -c 'ls /a/b/c'
ls: /a/b/c: Permission denied
# su bob -c 'ls -l /c'
… contents of /a/b/c …
chmod +x /a/b