Разница между исполняемым каталогом и исполняемыми файлами

17

Имеет ли исполняемое разрешение в каталоге означает, что файлы внутри него также исполняемы, даже если файлы явно не имеют установленных разрешений на выполнение?

    
задан Shady Programmer 19.12.2016 в 12:12
источник

1 ответ

23

Нет, исполняемое разрешение для каталогов означает, что вы можете войти в каталог, превратив его в настоящий рабочий каталог, используя cd , и посмотреть, какие файлы он содержит.

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

Бит чтения . Если установлено, вы можете прочитать этот список. Если у вас есть каталог с именем books:

  • Вы можете загрузить ls книг, и вы получите список файлов, которые он содержит ( -l не будет работать).

  • Вы можете использовать завершение командной строки, т. е. touch books/bo + Tab , чтобы получить books/bookfile .

  • Вы не можете делать книги в своем рабочем каталоге, cd не будет работать.

Бит записи . Вы можете изменить имена этого списка. Вы можете сделать это, только если бит выполнения также установлен.

Выполнять бит - вам нужно это разрешение, если вы хотите:

  • У вас есть доступ к файлам в каталоге.
  • Изменить информацию о самом списке. Вы можете добавлять, переименовывать или удалять имена в списке, но для этого также требуется разрешение на запись в каталоге.

Установка бит выполнения в каталоге никоим образом не влияет на сами файлы, но это влияет на ваш доступ к ним. Например, если у вас есть доступ для записи и выполнения для каталога, вы можете перемещать, переименовывать и удалять файлы, даже если вы не можете сами записывать файлы.

    
ответ дан Arronical 19.12.2016 в 12:16
источник