dizin için x bit arama biti olarak da adlandırılır. Aslında, klasörün içinde listelenen dosyaların düğümlerine erişmenizi sağlar. Bu nedenle /home/user/foo/bar.txt dosyasına erişmek istiyorsanız, bar.txt dosyasının her atasında arama erişiminizin olması gerekir
Sayfadan alıntı
Dizinler normal dosyalarla aynı şekilde kullanılmadığından, izinler biraz (ancak yalnızca biraz) farklı çalışır. Bir dizindeki dosyaları listeleme girişimi, dizin için okuma izni gerektirir, ancak içindeki dosyalar için değil. Bir dizine dosya ekleme, dizindeki bir dosyayı silme veya bir dosyayı yeniden adlandırma girişimlerinin tümü dizin için yazma izni gerektirir, ancak (belki şaşırtıcı bir şekilde) içindeki dosyalar için değil. Yürütme izni dizinler için geçerli değildir (bir dizin program da olamaz). Ancak bu izin biti dizinler için başka amaçlarla yeniden kullanılır.
Bir dizine cd yazabilmek için bir dizinde yürütme izni gerekir (yani, bir dizini geçerli çalışma dizininiz yapmak için).
İçindeki dosyaların inode bilgilerine erişmek için bir dizinde yürütme gereklidir. İçindeki dosyaların düğümlerini okumak için bir dizinde arama yapmak için buna ihtiyacınız vardır. Bu nedenle, bir dizindeki yürütme iznine genellikle arama izni denir.
Birçok yaygın durumda arama izni gerekir. Cat / home / user / foo komutunu düşünün. Bu komut açıkça foo dosyası için okuma izni gerektirir. Ancak, /, / home ve / home / user dizinlerinde arama izniniz yoksa, kedi foo'nun inode'unu bulamaz ve bu nedenle okuyamaz! Herhangi bir dosyanın (veya dizinin) inode'una erişmek için her ata dizinde arama iznine ihtiyacınız vardır ve inode'a erişemediğiniz sürece bir dosyayı okuyamazsınız.
Lütfen daha fazla dosya izin dizini bölümünden okuyun.
Güncelleme: Leo çok iyi bir soru sordu. Eğer inode'u bilirsek, x biti ayarlanmamış bir dizinden bir dosyaya erişebilir miyiz? İnanıyorum ki, bunu yapamamalıyız. Ben c programı tarafından test etmedi ama yerine onaylamak için bazı kullanışlı bash komutları kullanılır.
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