Как защитить файл в Windows - PullRequest
1 голос
/ 16 марта 2009

Обновление 3: Ограничить доступ, используя вкладку безопасности, теперь работает. (это вручную) теперь хочу сделать это программно (используя Visual C #), а также узнать, как получить доступ к файлу с помощью учетной записи администратора в простой учетной записи пользователя. Подсказка - я заметил эту функцию в Windows, щелкните правой кнопкой мыши и используйте «Выполнить как», введите пароль администратора, а затем вы сможете получить доступ к файлу.

Обновление 2: Обнаружено, как отобразить вкладку безопасности

Для отображения вкладки Безопасность

Открыть параметры папки на панели управления. (Нажмите Пуск, нажмите Панель управления, нажмите Внешний вид и темы, а затем щелкните Параметры папки.)

На вкладке "Вид" в разделе "Дополнительно" настройки, очистить Использовать простой файл обмен [Рекомендуется].

Обновление 1: Я нашел следующую статью , в которой предлагается способ предоставления разрешений для файлов, однако я не нахожу вкладку безопасности, когда нажимаю на свойства, Это? Есть идеи как его получить

У меня есть файл, который я хочу защитить от изменений. Не говорите мне зашифровать его, это не решит проблему, я хочу, чтобы пользователи не могли изменить файл, НО только я (моя программа). Существует ли какой-либо тип аутентификации для файлов Windows, я знаю, что то, что я говорю, глупо в отношении аутентификации, но некоторые файлы Windows недоступны, например, «ntuser.dat.LOG» в профиле пользователя. Когда я пытаюсь открыть этот файл, он не открывается.

Я хочу что-то подобное, для этого файла, похоже, потому что Windows использует его. Правильно. Но что делать, если моя программа закрылась, я не хочу, чтобы файл также менялся в этом случае. Как мне быть?

Я не прошу полного подробного решения, мне нужны идеи, предложения, советы или что-то, что, как вы знаете, поможет, как это кажется сложным: p

Ответы [ 12 ]

1 голос
/ 16 марта 2009

Вы в домене Windows или просто в рабочей группе? Какая версия Windows это? Вы администратор компьютера?

Вы должны иметь возможность владеть файлом, а затем установить разрешения, чтобы вы были единственным, кто может получить доступ к этому файлу. В Windows XP (аналогично Vista) Щелкните правой кнопкой мыши по файлу и просмотрите Properties. Выберите вкладку Security, а затем вы можете установить определенные разрешения для файла. Вы можете нажать Advanced и установить еще более конкретные параметры.

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

Edit: От КБ 290403 :

В Windows XP Home Edition и Windows XP Professional при работе в рабочей группе по умолчанию вкладка «Безопасность» скрыта. Это происходит потому, что в Windows XP Home Edition и Windows XP Professional гости вынуждены входить в рабочую группу.

Так что, если вы хотите продолжить это, вы можете загрузить свой компьютер в безопасном режиме, а затем вы увидите вкладку Security.

Вы также можете снять отметку Simple file sharing в опциях Advanced.

1 голос
/ 16 марта 2009

вы можете запустить службу Windows, которая блокирует файлы или что-то еще

0 голосов
/ 16 февраля 2017

Поскольку большинство версий Windows не используют способ защиты ваших файлов и папок паролем, на этой странице представлены шаги по шифрованию файлов и папок. Чтобы защитить паролем ваши файлы и папки в Windows, вы хотели бы использовать стороннюю программу.

Microsoft Windows Vista, 7, 8 и 10 пользователей

К сожалению, Windows Vista, Windows 7, Windows 8 и Windows 10 не предлагают никаких опций для файлов или папок, защищенных паролем. Для этого вы хотели бы использовать сторонние программы. Если вы хотите закодировать файл или папку, это можно сделать, выполнив следующие действия:

  1. Выберите файл или папку, которую вы хотите закодировать.
  2. Щелкните правой кнопкой мыши файл или папку и выберите «Свойства».
  3. На вкладке "Общие" нажмите кнопку "Дополнительно".
  4. Установите флажок «Шифрование содержимого для защиты данных».
  5. Нажмите Применить, затем ОК.

пользователи Microsoft Windows XP Professional

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

  1. Выберите файл или папку, которую вы хотите закодировать.
  2. Щелкните правой кнопкой мыши файл или папку и выберите Свойства.
  3. На вкладке "Общие" нажмите кнопку "Дополнительно".
  4. Установите флажок «Шифровать содержимое для защиты данных».
  5. Нажмите Применить, затем ОК.

Пользователи Microsoft Windows XP Home

  1. Выберите файл или папку, которую вы хотите закодировать.
  2. Щелкните правой кнопкой мыши файл или папку и выберите Свойства.
  3. Перейдите на вкладку «Общий доступ».
  4. Установите флажок, чтобы сделать эту папку личной
  5. Нажмите Применить, затем ОК.

Чтобы узнать больше об этой теме, перейдите по ссылке Криптография в Windows

Источник : - Технология

0 голосов
/ 16 марта 2009

Смею сказать ... " Альтернативные потоки данных NTFS " - не стреляйте в меня!

Да, их легко изменить, но их нелегко найти у среднего наркомана.

0 голосов
/ 16 марта 2009

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

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

РЕДАКТИРОВАТЬ: Хм, кажется, вас не волнует ОБНАРУЖЕНИЕ, если файл был изменен, вы действительно хотите ПРЕДОТВРАТИТЬ файл от изменения. Извините, я не думаю, что есть способ сделать это. Пользователь может легко убить любой процесс, «блокирующий» файл, или даже загрузиться с Live CD или чего-то еще и отредактировать файл таким образом.

0 голосов
/ 16 марта 2009

Это не может быть сделано!

Извините за этот тупой ответ, но, несмотря на любые предложенные программные меры по "защите" файла, это не поможет.

Если пользователь действительно хочет получить доступ к файлу, он может просто вставить жесткий диск в другой компьютер и изменить файл. Или она может использовать Linux live CD, который работает независимо от установленной операционной системы.

0 голосов
/ 16 марта 2009

Это моя идея! Может быть не очень полезно!

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

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

0 голосов
/ 16 марта 2009

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

0 голосов
/ 16 марта 2009

Файл должен принадлежать пользователю SYSTEM и иметь только права на чтение, предоставленные обычной группе USERS.

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

0 голосов
/ 16 марта 2009

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

Даже служба Windows может быть отключена, насколько я понимаю, не будет абсолютного решения.

...