किसी भी और सभी पैरेंट डाइरेक्टरीज़ पर cd या फ़ाइल को डायरेक्ट्री में एक्सेस करने के लिए आपको + x परमिशन की आवश्यकता होती है।
फ़ाइलों को सूचीबद्ध करने के लिए आपको निर्देशिकाओं में + r अनुमतियों की आवश्यकता है। तो यहाँ एक उदाहरण है:
आप कुछ सामान सेटअप प्राप्त करने के लिए ये आदेश जारी कर सकते हैं:
mkdir -p /a/b
touch /a/b/{file1,file2}
cd /a
echo 1 > b/file1
echo 2 > b/file2
कोई अधिकार नहीं:
pwd
/a$ pwd
/a
/a$ chmod -rwx b
/a$ ls -l
d--------- 4 mike admin 136 Jun 1 14:44 b/
/a$ ls -l b/
ls: : Permission denied
/a$ cat b/file1
cat: b/file1: Permission denied
केवल निष्पादन के साथ
/a$ chmod +x b
/a$ ls -l
total 0
d--x--x--x 4 mike admin 136 Jun 1 14:44 b/
/a$ ls -l b
ls: b: Permission denied
/a$ cat b/file1
a
/a$ ls -l b/file1
-rw-r--r-- 1 mike admin 2 Jun 1 14:43 b/file1
अब पढ़ने के साथ:
/a$ chmod +r b/
/a$ ls -l
/a$ ls -l
total 0
dr-xr-xr-x 4 mike admin 136 Jun 1 14:44 b/
/a$ ls -l b/
total 16
-rw-r--r-- 1 mike admin 2 Jun 1 14:43 file1
-rw-r--r-- 1 mike admin 2 Jun 1 14:43 file2
यह हिस्सा थोड़ा भ्रमित करने वाला हो सकता है, लेकिन केवल पढ़ने और निष्पादित नहीं करने के साथ, आप वास्तव में निर्देशिका में फ़ाइलों को सूचीबद्ध कर सकते हैं, लेकिन इनोडेस मेटाडेटा को नहीं पढ़ सकते हैं, इसलिए आपको अनुमति से वंचित कर दिया जाएगा लेकिन फिर भी फ़ाइलों की सूची देखने में सक्षम हो एक निर्देशिका में नीचे के रूप में ..
/a$ chmod -x b/
/a$ ls -l
total 0
dr--r--r-- 4 mike admin 136 Jun 1 14:44 b/
/a$ ls -l b
ls: file1: Permission denied
ls: file2: Permission denied
chmod +grx -R /a/b/c/d/e/folder
? यह गलत है, इसे अंजाम देने का सही तरीका है:chmod g+rx -R /a/b/c/d/e/folder