Я заметил, что могу перейти в неисполняемые каталоги, которые смонтированы с помощью sshfs .

Сначала я создал каталоги со всеми восемью возможными режимами:

$ pwd
/mnt/remote
$ for i in {0..7}; do mkdir test_$i; chmod $i$i$i test_$i; done
$ ll
total 32K
d--------- 2 <user> <user> 4,0K Okt 19 12:39 test_0
d--x--x--x 2 <user> <user> 4,0K Okt 19 12:39 test_1
d-w--w--w- 2 <user> <user> 4,0K Okt 19 12:39 test_2
d-wx-wx-wx 2 <user> <user> 4,0K Okt 19 12:39 test_3
dr--r--r-- 2 <user> <user> 4,0K Okt 19 12:39 test_4
dr-xr-xr-x 2 <user> <user> 4,0K Okt 19 12:39 test_5
drw-rw-rw- 2 <user> <user> 4,0K Okt 19 12:39 test_6
drwxrwxrwx 2 <user> <user> 4,0K Okt 19 12:39 test_7

Затем я просто проверил, могу ли я cd каждый из них.

$ for i in {0..7}; do cd test_$i; echo $?; cd /mnt/remote; done
0
0
0
0
0
0
0
0

Таким образом, cd успешен даже для неисполняемых каталогов, что должно быть невозможно.*

Согласно предложению в комментариях, я также попытался перечислить каталог после открытия его:

$ for i in {0..7}; do cd test_$i && ls >/dev/null; echo $?; cd /mnt/remote; done
ls: reading directory .: Permission denied
2
ls: reading directory .: Permission denied
2
ls: reading directory .: Permission denied
2
ls: reading directory .: Permission denied
2
0
0
0
0

Интересными каталогами здесь являются test_4 и test_6 поскольку у них есть разрешение на чтение, но нет разрешения на выполнение. Тем не менее, ls успешно для них обоих. Это терпит неудачу для test_0 через test_3 , у которых нет разрешения на чтение.

Почему это происходит?


*: Чтобы подтвердить это, я провел такой же эксперимент на моей локальной машине:

$ for i in {0..7}; do cd test_$i; echo $?; cd ~/work/permission_tests; done
cd: permission denied: test_0
1
0
cd: permission denied: test_2
1
0
cd: permission denied: test_4
1
0
cd: permission denied: test_6
1
0

Так что это дает ожидаемые результаты там.

0