Какова цель разрешений Linux, таких как 111 или 333 (т. Е. Пользователь может выполнить , но не может прочитать файл), если возможность выполнения не подразумевает автоматическое чтение?
permissions
chmod
trolley813
источник
источник
Ответы:
Я играл с ним и, видимо, разрешения exec не подразумевают разрешения на чтение. Двоичные файлы могут быть исполняемыми без возможности чтения:
Я не могу выполнить сценарии, если только они не имеют биты разрешения на чтение и разрешение на выполнение:
источник
/bin/bash hw.sh
, а затем bash пытается открытьhw.sh
для чтения (и не удается).это имеет смысл для каталогов, например, если вы храните (секретные) исполняемые файлы в определенном каталоге, а затем разрешаете пользователям вызывать эти файлы, не имея возможности видеть содержимое каталога (но зная, что после того, как вы проинформировали их, существует определенный файл!). 333 по сравнению со 111 позволяет записывать / удалять файлы в / из этих каталогов, не имея возможности видеть содержимое каталога.
источник
Очевидно, что не все комбинации являются такими полезными, но если взять ту, которую вы упомянули специально ... На самом деле вам не нужно
read
разрешение на выполнение файла - толькоexecute
разрешение - если рассматриваемый файл не является скриптом (например, shell-скрипт (.sh
), perl-script (.pl
) и т. д.). Обычные двоичные файлы могут быть выполнены только сexecute
разрешения. На * BSD-systmes несколько исполняемых файлов даютexecute
разрешение без разрешенияread
, особенно на «важные для безопасности» команды - напримерsu
.Так почему бы не дать пользователям
read
разрешение (и простоexecute
разрешение)? Потому что файл, который не может быть прочитан пользователем, также не может быть скопирован этим пользователем! Удалениеread
разрешения запрещает пользователям создавать свои собственные «личные» копии исполняемых файлов, которые они впоследствии могут использовать (например, получитьSUID=root on
).И, не имея
write
-permission, предотвращает случайное удаление файла.Имейте в виду, что не давать ни
read
-нор-write
разрешения владельцу немного необычно, но иногда может быть хорошей идеей, чтобы дажеowner
не удалить файл. Конечно,owner
не говоря уже о том, чтоroot
такие меры всегда можно обойти, если не другими способами, то просто сchmod
разрешения файла.источник
owner
удаление файла». - за исключением того, что вам не нужно никакого разрешения на файл (чтение, запись или выполнение) для его удаления./proc/${PID}/maps
и затем считывая соответствующие разделы памяти/proc/${PID}/mem
? Или ограничение разрешений для исполняемого файла также ограничивает разрешения на чтение соответствующих разделов в памяти во время выполнения? (Последнее кажется маловероятным, ИМО.)