ডিরেক্টরি জন্য এক্স বিট অনুসন্ধান বিট হিসাবেও ডাকা হয়। প্রকৃতপক্ষে, এটি আপনাকে ফোল্ডারের ভিতরে তালিকাভুক্ত ফাইলগুলির ইনোডগুলি অ্যাক্সেস করতে সক্ষম করে। সুতরাং আপনি যদি / home/user/foo/bar.txt অ্যাক্সেস করতে চান তবে আপনার অবশ্যই বার.txt এর প্রতিটি পূর্বপুরুষের অনুসন্ধানের অ্যাক্সেস থাকতে হবে
পৃষ্ঠা থেকে উদ্ধৃতি
ডিরেক্টরিগুলি নিয়মিত ফাইলগুলির মতো একইভাবে ব্যবহৃত না হওয়ায় অনুমতিগুলি কিছুটা (তবে কেবল সামান্য) আলাদাভাবে কাজ করে। ডিরেক্টরিতে ফাইল তালিকাভুক্ত করার চেষ্টা করার জন্য ডিরেক্টরিটির জন্য পড়ার অনুমতি প্রয়োজন, তবে ফাইলগুলির মধ্যে নয়। ডিরেক্টরিতে একটি ফাইল যুক্ত করার চেষ্টা, ডিরেক্টরি থেকে একটি ফাইল মুছে ফেলা, বা একটি ফাইলের নাম পরিবর্তন করার জন্য, সমস্তই ডিরেক্টরিতে লেখার অনুমতি প্রয়োজন, তবে (সম্ভবত আশ্চর্যজনকভাবে) ফাইলগুলির মধ্যে নয়। এক্সিকিউট করার অনুমতি ডিরেক্টরিগুলিতে প্রয়োগ হয় না (ডিরেক্টরিটি কোনও প্রোগ্রামও হতে পারে না)। কিন্তু সেই অনুমতি বিটটি অন্য উদ্দেশ্যে ডিরেক্টরিগুলির জন্য পুনরায় ব্যবহৃত হয়।
কোনও ডিরেক্টরিতে এটি সিডি করতে সক্ষম হওয়ার জন্য নির্ধারিত অনুমতি প্রয়োজন (এটি কোনও ডিরেক্টরিকে আপনার বর্তমান ওয়ার্কিং ডিরেক্টরি তৈরি করতে)।
এর মধ্যে থাকা ফাইলগুলির ইনোড তথ্য অ্যাক্সেস করতে একটি ডিরেক্টরিতে এক্সিকিউট প্রয়োজন। এর মধ্যে থাকা ফাইলগুলির ইনোডগুলি পড়তে আপনাকে একটি ডিরেক্টরি অনুসন্ধান করতে হবে। এই কারণে কোনও ডিরেক্টরিতে মৃত্যুদন্ড কার্যকর করার অনুমতিটিকে তার পরিবর্তে প্রায়শই অনুসন্ধানের অনুমতি বলা হয়।
অনেক সাধারণ পরিস্থিতিতে অনুসন্ধানের অনুমতি প্রয়োজন। ক্যাট / হোম / ইউজার / ফু কমান্ডটি বিবেচনা করুন। এই কমান্ডটি স্পষ্টতই foo ফাইলের পড়ার অনুমতি প্রয়োজন। তবে আপনার কাছে /, / হোম এবং / হোম / ব্যবহারকারী ডিরেক্টরিতে অনুসন্ধানের অনুমতি না থাকলে, বিড়াল foo এর ইনোডটি সনাক্ত করতে পারে না এবং এইভাবে এটি পড়তে পারে না! যে কোনও ফাইলের (বা ডিরেক্টরি) ইনোড অ্যাক্সেস করতে আপনার প্রতিটি পূর্বপুরুষের ডিরেক্টরিতে অনুসন্ধানের অনুমতি প্রয়োজন এবং আপনি যদি কোনও ফাইল এর ইনোডে না পান তবে আপনি কোনও ফাইল পড়তে পারবেন না।
দয়া করে আরও পড়তে ফাইল অনুমতি ডিরেক্টরির অধ্যায়।
আপডেট: লিও খুব ভাল প্রশ্ন উত্থাপন করেছে। যদি আমরা ইনোডটি জানি তবে আমরা কি কোনও এক্স ডিরেক্টরিটি সেট না করে কোনও ডিরেক্টরি থেকে কোনও ফাইল অ্যাক্সেস করতে পারি? আমি বিশ্বাস করি, আমাদের এটি করা সম্ভব হবে না। আমি সি প্রোগ্রামের মাধ্যমে এটি পরীক্ষা করেছিলাম না বরং এটি নিশ্চিত করার জন্য কয়েকটি হ্যান্ডি ব্যাশ আদেশ ব্যবহার করেছি।
user@user-desktop:~/test$ ls -lart
total 12
drwxr-xr-x 49 user user 4096 2011-11-30 22:37 ..
drwxr-xr-x 3 user user 4096 2011-11-30 22:37 .
drwxr-xr-x 2 user user 4096 2011-11-30 22:38 level1
user@user-desktop:~/test$ ls -lart level1/
total 12
drwxr-xr-x 3 user user 4096 2011-11-30 22:37 ..
drwxr-xr-x 2 user user 4096 2011-11-30 22:38 .
-rw-r--r-- 1 user user 8 2011-11-30 22:38 file1
user@user-desktop:~/test$ stat level1
File: `level1'
Size: 4096 Blocks: 8 IO Block: 4096 directory
Device: 808h/2056d Inode: 95494 Links: 2
Access: (0755/drwxr-xr-x) Uid: ( 1000/ user) Gid: ( 1000/ user)
Access: 2011-11-30 22:46:16.576702105 +0530
Modify: 2011-11-30 22:38:12.386701913 +0530
Change: 2011-11-30 22:46:08.876702102 +0530
user@user-desktop:~/test$ stat level1/file1
File: `level1/file1'
Size: 8 Blocks: 8 IO Block: 4096 regular file
Device: 808h/2056d Inode: 60775 Links: 1
Access: (0644/-rw-r--r--) Uid: ( 1000/ user) Gid: ( 1000/ user)
Access: 2011-11-30 22:38:19.846701917 +0530
Modify: 2011-11-30 22:38:16.366701915 +0530
Change: 2011-11-30 22:38:16.366701915 +0530
user@user-desktop:~/test$ chmod -x level1
user@user-desktop:~/test$ stat level1/file1
stat: cannot stat `level1/file1': Permission denied
user@user-desktop:~/test$ ls -lart level1/
ls: cannot access level1/..: Permission denied
ls: cannot access level1/.: Permission denied
ls: cannot access level1/file1: Permission denied
total 0
-????????? ? ? ? ? ? file1
d????????? ? ? ? ? ? ..
d????????? ? ? ? ? ? .
user@user-desktop:~/test$ cat level1/file1
cat: level1/file1: Permission denied
user@user-desktop:~/test$ find . -inum 95494
./level1
user@user-desktop:~/test$ find . -inum 60775
user@user-desktop:~/test$ find ./level -inum 60775
find: `./level': No such file or directory
user@user-desktop:~/test$ find ./level1 -inum 60775