Я использовал следующие команды в среде Linux

[мусор это каталог]

chmod –x junk      
ls junk 
ls –l junk

Я получил результаты как ..

 ls: cannot access junk/5: Permission denied  
 ls: cannot access junk/1: Permission denied  
 ls: cannot access junk/2: Permission denied  
 ls: cannot access junk/4: Permission denied  
 ls: cannot access junk/3: Permission denied 
 1  2  3  4  5

а также

  ls: cannot access junk/5: Permission denied 
  ls: cannot access junk/1: Permission denied 
  ls: cannot access junk/2: Permission denied 
  ls: cannot access junk/4: Permission denied 
  ls: cannot access junk/3: Permission denied 
  total 0
  -????????? ? ? ? ?            ? 1
  -????????? ? ? ? ?            ? 2
  -????????? ? ? ? ?            ? 3
  -????????? ? ? ? ?            ? 4
  -????????? ? ? ? ?            ? 5

Я гуглил, обнаружил, что если каталог не имеет разрешения на выполнение, то его индекс не может быть доступен. Мой вопрос здесь, если индекс узла "нежелательной" не доступен, то как отображаются имена файлов в каталоге?

1 ответ1

2

Потому что у вас есть разрешение на чтение этого каталога. Пока у вас есть права на чтение, вы можете перечислить содержимое каталога, но не можете читать или записывать файлы внутри каталога.

Например, если вы выполните vi junk/1 или cat junk/1 , произойдет сбой.

Всё ещё ищете ответ? Посмотрите другие вопросы с метками .