Задать вопрос
@hunk3r

Как полностью заблокировать доступ к файлу?

У игрового клиента Battle.net есть вспомогательная софтина-апдейтер Agent.exe
По пути C:\ProgramData\Battle.net\Agent, помимо прочих, лежат два файла .product.db и product.db
В этих файлах содержится информация о системе, об аккаунте и о серверах обновлений Battle.net

Вопрос: как заблокировать доступ на изменение этих файлов? мне для них нужен только RO доступ.

Я пробовал:
attrib +R +S +H "C:\ProgramData\Battle.net\Agent\product.db" - не помогло, "скрытые" файлы просто удалились и Agent создал вместо них новые;
удалял права на файлы/удалял владельца файлов/ставил Deny правила - то же, что и выше;
запускал испод user'a без админских прав и блочил самому себе доступ - не помогло;
шифровал файлы - то же самое;
пробовал делать symlink'и - то же самое, линки удалились, файлы создались.

Можно ли как-то перехватить действие Agent.exe на создание/изменение этих файлов? Какой-нибудь handler ему выключить при старте.
  • Вопрос задан
  • 227 просмотров
Подписаться 1 Средний Комментировать
Пригласить эксперта
Ответы на вопрос 3
hint000
@hint000
у админа три руки
Если Agent работает от системной учётной записи, то никак вы ему не ограничите логически права в пределах этой системы. Есть два с половиной варианта (но Agent может отказаться работать с любым из них или с обоими, нужно проверять методом тыка).

1. ограничить запись физически - поместить файлы на CD-ROM; очень редко встречаются флешки с переключателем защиты от записи; на SD-картах (которые не microSD, а большие) и переходниках SD/microSD есть переключатели. Тут фикус-пикус в том, что, вероятно, потребуется создать symlink'и, а вы говорите, что Agent их удаляет. Но можно попробовать сделать symlink не на отдельный файл а на целую папку, содержащую этот файл. Возможно, Agent не догадается удалить и создать заново эту папку.

2. ограничить права за пределами этой системы - поместить файл на сетевой шаре, расшарить только для чтения. Даже имея полные права на своей системе, Agent будет бессилен на другом хосте, содержащем шару. Опять же, шару придётся смонтировать, как сетевой диск; догадается ли Agent отмонтировать сетевой диск? Откажется ли работать с сетевым диском?

0. а не проще ли мониторить изменение файлов (есть утилиты для этого) и при обнаружении изменений сразу восстанавливать файл из резервной копии? Да, есть шанс, что это не сработает, если немедленно после обновления файла он считывается и восстановление уже опаздывает. Но если повезёт, то будет хватать времени для восстановления. Я бы попробовал.
Ответ написан
pindschik
@pindschik
ФЫВА ОЛДЖ
Свойства файла, безопасность, дополнительно. Отключаем зависимость, удаляем всех пользователей, добавляем пользователя "все" с правами на исполнение и чтение. Еще раз добавляем пользователя "все" с ЗАПРЕТОМ на удаление и запись. Применяем.
Ответ написан
NeiroNx
@NeiroNx
Программист
Сделай бэкап и восстанавливай когда надо, можно в планировщик засунуть скрипт.
Ответ написан
Ваш ответ на вопрос

Войдите, чтобы написать ответ

Похожие вопросы