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

20

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

Shady Programmer
источник
Нет. Разрешение на выполнение для директоров означает разрешение на поиск (для чтения атрибутов файла и записи в каталог). Чтобы выполнить файл, вы должны иметь разрешение на выполнение этого файла.
Ридги
Также актуально: unix.stackexchange.com/a/251302/135943
Wildcard
Смотрите также: askubuntu.com/questions/83788/…
Боб

Ответы:

27

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

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

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

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

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

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

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

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

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

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

Arronical
источник
Это многое объясняет на самом деле! Теперь я понимаю, почему некоторые каталоги появляются с цветным фоновым наложением на их имя в эмуляторе терминала.
Shady Programmer
Я добавил немного информации обо всех разрешениях, думая о каталоге как о папке, полной файлов, не так полезно, как о том, чтобы думать о нем, как о самом файле, который представляет собой просто список файлов, когда речь идет о разрешениях.
Arronical