Безопасность или комфорт
Появление контроля учетных записей подтолкнуло разработчиков к созданию программ, рассчитанных на работу с ограниченными правами. Однако в домашних условиях мы самостоятельно выполняем административные задачи, и в Windows 7 все-таки удобнее работать с правами администратора. Отключение UAC или использование встроенной учетной записью «Администратор» с точки зрения прав эквивалентно работе в Windows XP и сопряжено с риском потери контроля над системой в случае заражения. На мой взгляд, лучшее соотношение «безопасность / комфорт» в Windows 7 достигается при работе администратором с включенным контролем учетных записей.
При чем тут UAC?
С помощью виртуализации файлов и реестра обеспечивается совместимость со старыми приложениями, и в первую очередь она нацелена на работу с правами обычного пользователя. Если UAC отключен, администратор не заметит разницы, поскольку права на запись в Program Files у него есть. А вот обычных пользователей старая программа может огорчить очень быстро, ведь прав на запись в системные расположения нет (хоть с UAC, хоть без него), а перенаправить данные уже некому. Программа «ломается», т.е. скорее всего, выводит сообщение из разряда «отказано в доступе».
При чем тут безопасность?
Представьте, что вредоносная программа скрытно пытается осуществить запись в системную папку или раздел реестра. Раз она это делает, безопасность вашей системы уже отчасти скомпрометирована – программа проникла на компьютер, а антивирус на нее до сих пор не среагировал.
Благодаря виртуализации, ущерб не простирается дальше прав обычного пользователя. Другими словами, действие вредоносного кода ограничивается профилем, т.е. не распространяется на системные файлы и параметры.
Аналогично работает и защищенный режим в Internet Explorer, о котором речь шла в третьей статье серии. И хотя виртуализация UAC не задействуется для этого режима, ему необходим включенный контроль учетных записей.
Таким образом, контроль учетных записей повышает не безопасность, а устойчивость системы к заражению. Главное — вы не теряете над ней контроль, а в этом случае намного проще устранить любую проблему.
:checkPrivileges
mkdir "%windir%\EasyCureLogs!" 2>nul
if "%errorlevel%"=="0" (rmdir "%windir%\EasyCureLogs!" & goto gotPrivileges) else goto getPrivileges
:getPrivileges
runadmin.vbs "%~f0"
goto end
Вот такая проверка вполне скажет есть виртуализация или нет - проверка записи в %windir%\ - если запишет (создаст подпапку), значит нет и поднимать привилегии не надо и скорее всего мы на хр 