Как я могу сделать файл полностью неизменным (не удаляемым и доступным только для чтения)? - PullRequest
3 голосов
/ 26 августа 2009

Мне нужно сделать файл действительно доступным только для чтения - чтобы он оставался как есть. Нет удаления, нет ничего.

(установка атрибута 'ReadOnly' не возможна)

Теперь вижу несколько подходов:

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

  2. Используйте программу для установки атрибутов безопасности. Недостаток: файл можно удалить. Кроме того, атрибуты могут быть изменены обратно.

Есть идеи? Кроме того, пример кода (желательно в Delphi) будет приветствоваться.

ОБНОВЛЕНИЕ: Спасибо за все ответы до сих пор. Они действительно великолепны. Я понимаю, что мне было не очень ясно. Проблема, которую мы хотим решить, заключается в следующем:

Существует несколько файлов, похожих на .txt, которые содержат конфиденциальную информацию. Наши клиенты хотят быть уверены, что эти файлы не будут изменены «за кулисами» на их компьютерах. Следует отметить, что их компьютеры могут быть легко заражены вредоносным ПО, специально предназначенным для этой цели. Наши клиенты должны иметь возможность открывать эти файлы с помощью Блокнота, Wordpad и т. Д., Но они принимают, что файлы доступны только для чтения. Если кто-либо из наших клиентов предпримет решительное действие, например войдет в «Безопасный режим» и т. Д., И подделает файлы, то это их ответственность. Мы должны защищать их от любого вредоносного ПО, включая атаку нулевого дня. (Следовательно, классическое антивирусное решение не очень подходит).

Можете ли вы дать сейчас некоторые идеи?

PS: Еще раз искренне извиняюсь за то, что не был так ясен с самого начала.

Ответы [ 12 ]

2 голосов
/ 26 августа 2009

Вы можете использовать windows acls для защиты файла. Однако, если у человека есть доступ к оборудованию, он всегда может, как говорит массив, загрузить другой режим или ОС и удалить его.

2 голосов
/ 26 августа 2009

Зачем тебе это? Это кажется мне странным требованием.

Я не думаю, что вы можете сделать это. Лучшее, что я могу придумать: Создайте файл как администратор и установите права доступа, чтобы обычные пользователи не меняли его (это предполагает наличие разных пользователей), или создайте приложение, которое сбрасывает файл при его изменении.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...