Как создать заблокированный (только для чтения) архив 7zip?


0

Вы можете создать «заблокированный» архив RAR с помощью WinRar, чтобы файлы не могли быть изменены или удалены, и они стали доступны только для чтения без использования пароля. Это также возможно с форматом 7z?

Интересно, что применение атрибутов «только для чтения» к архиву 7z не защищает его от изменения!


1
Чего бы это достичь? Если я могу прочитать содержимое, я могу очень легко извлечь все файлы, изменить некоторые из них и повторно упаковать их. Если вы хотите остановить изменение файла (например, *.7zархива), вам необходимо удалить разрешения на чтение на уровне файловой системы (это не то же самое, что readonlyатрибут в системах Windows).
Дарт Android

@DarthAndroid: Хорошо ли, если файл будет удален с правами на чтение?
Мартино

@DarthAndroid Применяя пароль через WinRar, вы можете сделать архив только для чтения, но вы не можете прочитать содержимое файлов, то есть вы можете видеть только список файлов внутри архива. Если вы включите шифрование, то вы не сможете увидеть ни содержимое архива.
Никола Димитриевич

@martineau Идея будет заключаться в том, что для некоторых пользователей права на чтение будут удалены и предоставлены другим пользователям таким же образом, что некоторые пользователи не будут знать пароль зашифрованного архива, а некоторые пользователи будут знать.
Дарт Андроид

@NikolaD Какова цель видеть имена файлов, если вы не видите содержимое файла?
Дарт Андроид

Ответы:


0

Кажется, я не могу найти в документации 7zip ничего о блокировке его файлов. На данный момент я предполагаю, что это специфично для алгоритма сжатия RAR.

Что касается фактической блокировки файла, есть несколько вариантов:

  • Как вы сказали, установка атрибута файла не мешает 7zip изменять его содержимое. Цитата из Википедии :

    Только чтение: если установлено, указывает, что файл не должен быть изменен. После открытия файла API файловой системы обычно не предоставляет разрешение на запись запрашивающему приложению, если только приложение явно не запрашивает его . Атрибуты только для чтения в папках обычно игнорируются.

  • Вы можете использовать команду attrib, чтобы изменить атрибут чтения, но это может упасть в предыдущем пункте.

  • Вы можете использовать команду cacls , которая работает на уровне файловой системы и должна быть невосприимчивой к поведению Windows. Пример использования следующий:

    CACLS C:\file.7z /E /G "User_Name":R
    

    Это даст доступ только для чтения к файлу .7z на уровне NTFS. Это не будет работать, если диск FAT32 или другой формат. Я предполагаю, что более простой способ сделать это - открыть вкладку «Безопасность» в свойствах файла и предоставить пользователям только контроль чтения.

Используя наш сайт, вы подтверждаете, что прочитали и поняли нашу Политику в отношении файлов cookie и Политику конфиденциальности.
Licensed under cc by-sa 3.0 with attribution required.