Bir kullanıcı erişemezse /a/b
, altındaki herhangi bir dosyaya erişemez /a/b/c
. /a/b/c
Dizin geçişi durduğu için üzerindeki izinler önemsiz /a/b
.
İstediğiniz tek şey dizinin /a/b
listelenmesini önlemekse, ancak kullanıcıların /a/b
bir dosya adı tahmin etmeleri durumunda dosyalara erişme konusunda sorun yaşarsanız, /a/b
yürütülebilir ancak okunamaz hale getirebilirsiniz . Bir dizinde, okuma izni yalnızca dizin içeriğini listelemeyi denetlerken, yürütme izni bu dizinin girdilerine erişimi denetler.
# 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 …
Diğer kullanıcıların, /a/b
dışındaki dosyalara erişmesini istemiyorsanız , bağlama bağlaması aracılığıyla başka bir görünümle /a/b/c
açığa çıkarabilirsiniz ./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