3

Являются ли разрешения на чтение и выполнение эквивалентными?

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

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

Что мне здесь не хватает? Являются ли разрешения на чтение и выполнение по существу одинаковыми? Одно подразумевает другое?

1 ответ1

6

Для файлов наличие одного набора разрешений, но не другого, имеет смысл только в том случае, если в файле также установлен бит "setuid" или "setgid" или если ему были предоставлены различные возможности с использованием setcap . Если вы сделаете собственную копию исполняемого файла, он не сможет получить те же привилегии, поскольку только root может сохранить первоначального владельца или изменить возможности файла.

Для каталогов "выполнить" означает "путь к каталогу" - он необходим для доступа к содержимому каталога. Если у вас есть +x, но нет +r, вы можете получить доступ к файлам внутри, но вы должны знать их имена. Если у вас есть +r, но нет +x, вы можете перечислить (прочитать) имена файлов, хранящиеся в этом каталоге, но не иметь доступа к фактическим файлам.

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