|
Днем я работаю руководителем программы обеспечения безопасности в корпорации Майкрософт. Я также довольно часто пишу статьи по безопасности для журнала TechNet Magazine. Нет необходимости говорить о том, что я очень серьезно отношусь к безопасности. Но у меня также есть и другие интересы. В свободное время я люблю поиграть в игры на основе ОС Windows®. Мне особенно нравятся «стрелялки» от первого лица, симуляторы, ролевые и стратегические игры, работающие в реальном масштабе времени. Тем не менее, существует одно «но». Как и мои друзья Джеспер Джоханссон (Jesper Johansson) и Арон Маргосис (Aaron Margosis), я отказываюсь от работы с правами администратора, если в этом нет крайней необходимости. Я делаю это частично из-за того, чтобы быть уверенным, что проиграю в сетевой игре только из-за недостатка навыков, а не в результате атаки с помощью скрывающей свое присутствие вредоносной программы, замедляющей прицеливание (см. статью Quake 3 Buffer Overflow Advisory —Советы в отношении переполнения буфера в игре Quake 3, приведенную на боковой панели «Ресурсы»).
Я настолько серьезно отношусь к этому, что часто не могу играть в самые новые игры (см. рис. 1). Если после выполнения установки и обновления игры с использованием учетной записи администратора я не могу запустить ее с использованием учетной записи пользователя с ограниченными правами (LUA) на клиентском компьютере, подключенном к домену сервера Small Business Server, то я сразу ее удаляю. Нет оправдания такой плохой разработке программ, а мне есть из чего выбрать себе игру. Я признаю, что это может показаться чрезмерно серьезным подходом, но в этом вопросе я непреклонен. Тем не менее, я не против того, чтобы обойти несколько незначительных недостатков ради приятной игры, и именно это обсуждается в данной статье. Так что позвольте мне поделиться некоторыми связанными с играми проблемами, с которыми я столкнулся, и найденными мною решениями этих проблем. Краткую сводку наиболее эффективных методов см. на боковой панели Tips for Gaming as a Limited User (Советы, как играть в качестве пользователя с ограниченными правами).
Рис. 1. Проблема доступа к файлам при выполнении обновления вручную Распространенные проблемы Ничего нового в проблеме предоставления прав нет. Существует множество игр и иных видов программ, для надлежащей работы которых необходимы права администратора. Обратитесь к статье «Certain Programs Do Not Work Correctly if You Log On Using a Limited User Account»Некоторые программы работают неправильно при входе в систему с использованием учетной записи с ограниченными правами» в базе знаний (см. ссылку support.microsoft.com/kb/307091). В ней перечислены около 200 игр и приложений, при запуске которых пользователем с ограниченными правами возникают проблемы, в том числе несколько программ корпорации Майкрософт. Хочу пояснить, что я не считаю проблемой необходимость в наличии прав администратора для установки или обновления (вручную) игры. Это будет обычным требованием до тех пор, пока мы не сможем в ОС Windows выполнять стандартную установку программ для отдельных пользователей. Этот день приближается, но еще не наступил. Однако после того как игра установлена и обновлена, она должна быть готова к тому, чтобы в нее мог играть любой пользователь системы, даже имеющий ограниченные права. Попытки выполнения записи в защищенные папки и разделы реестра Одна из наиболее распространенных проблем, с которой я сталкивался, это сбой при запуске или во время игры в результате попытки записи в защищенные папки или разделы реестра (свойственно многим приложениям на основе ОС Windows). По умолчанию запись в определенные папки (например %PROGRAMFILES%) и кусты реестра (например HKEY_LOCAL_MACHINE) могут осуществлять только администраторы (и не рекомендуемые для выполнения таких действий опытные пользователи). Возникающие в результате этого ошибки достаточно очевидны: «Error 42: Can't write log files to C:\Program Files\CoolGamesInc\NewestFPS\Logs\» (Код ошибки 42: невозможно записать файлы журналов в папку C:\Program Files\CoolGamesInc\NewestFPS\Logs\) или «Game not installed properly, reinstall and restart» (Игра не установлена надлежащим образом, переустановите ее и перезапустите компьютер). Я также видел примеры возникновения ошибок во время игры, например сообщения об ошибках, возникающие при сохранении своих достижений. Иногда авторы игр хотя бы предупреждают пользователя о том, что в настоящее время для работы программы необходимы права администратора, что я наблюдал в игре Age of Mythology®. Многопользовательские интерактивные игры часто приводят к возникновению проблем с правами, так как они часто самостоятельно обновляются, а задачу самостоятельного обновления технологически решить несколько сложнее. Когда я попробовал поиграть в пробную версию игры EVE Online, я обратил внимание на то, что у этой программы проблема заключатся не только в сохранении файлов журналов регистрации в ненадлежащие места, но также и в попытках самообновления данных содержания игры с сохранением в установочную папку. Сбои, связанные с защитой от копирования Второй из замеченных мною наиболее распространенных причин, по которым игры не запускаются, являются случаи, когда встроенная защита игры от копирования (или другая функция, препятствующая пиратскому копированию) не работает при запуске программы пользователем с ограниченными правами. Возможно, драйвер не запускался правильно или не запускалась какая-то работающая в фоновом режиме служба. Наиболее распространенное проявление этой проблемы, которое я видел, выражалось в том, что игра выдавала запрос пользователю вставить диск даже в том случае, когда требуемый носитель уже был вставлен в дисковод. Я также видел игры, которые сообщали о необходимости наличия прав администратора, исходя из неправомерного мнения о том, что только администраторы могут надлежащим образом запускать проверку защиты от копирования. В худших случаях выдавалось плохо сформулированное, бессмысленное сообщение об ошибке, которая не упоминается на узле поддержки игры. Отсутствие запроса о добавлении исключения в настройки брандмауэра Многопользовательские игры, в которые можно играть по локальной сети или через Интернет, очень распространены, и в ОС Windows XP с пакетом обновления 2 (SP2) добавлено сообщение, уведомляющее пользователя о том, что приложения пытаются прослушивать сеть. Это приводит меня к следующей часто встречающейся проблеме: существуют игры, требующие наличия исключения в настройках брандмауэра, но не выдающие запрос о добавлении этого исключения во время установки. Так как пользователи с ограниченными правами не могут изменять настройки брандмауэра, то это предупреждение (см. рис. 2) не может быть устранено без выполнения определенных настроек администратором. Хуже того, иногда эта проблема не очевидна, так как предупреждение появляется в оболочке системы Windows, а не в интерфейсе игры. Фактически данное сообщение об ошибке обычно даже не видно до выхода из игры. Рис. 2. Когда настройки брандмауэра прекращают развлечение Проблемы, касающиеся корпоративных клиентов Я обнаружил еще одну проблему, которая не связана непосредственно с запуском программы пользователем с ограниченными правами, но которую, тем не менее, стоит рассмотреть. Моя домашняя компьютерная среда настроена как среда небольшого предприятия (я не будут описывать ее здесь слишком подробно, так как прочитать об этом можно на веб-странице в статье «Master Your Domain: Build a Corporate Network at Home» («Модифицируйте свой домен: создайте корпоративную сеть дома») (на английском языке), которую мы с Jesper Johansson (Джеспером Джоханссоном) опубликовали в выпуске журнала TechNet Magazine за октябрь 2006 г.). Используя сервер SBS 2003 (R2), я настроил полный домен системы Windows с папкой «Мои документы», которая перенаправляется на общий ресурс сервера. Таким образом я обнаружил последнюю широко распространенную проблему, которую рассмотрю в этой статье: игры, которые не работают с корпоративными клиентами.
Я заметил двойную проблему, касающуюся игры Age of Empires® III (AoE3). К чести группы разработчиков нужно сказать, что игра запускается и работает в случае пользователя с ограниченными правами нормально. Однако я заметил, что сценарии загружаются медленно, и это связано с передачей большого количества регистрируемых данных, которые записываются по сети. Кроме того, каждый раз при выходе игра AoE3 теряет настройки, сохраненные игры и достижения. Видно, что файлы находятся в папке «Мои документы», но игра не может их загрузить. Это было большим разочарованием, учитывая то, насколько лучше игра AoE3 стала работать с учетными записями пользователей с ограниченными правами по сравнению с более ранними выпусками этой серии. Я видел одну игру, которая хотя бы признает наличие подобных проблем с корпоративными клиентами. Когда я попробовал играть в игру Fable®: The Lost Chapters™, она была настолько деликатной, что я получил сообщение о том, что удаленные папки «Мои документы» не поддерживаются, после чего был произведен корректный выход из программы. Я одобряю то, что группа разработчиков признает отсутствие поддержки такого сценария и отказ от продолжения игры. Однако кажется немного странным, что игра прекращает работу, чтобы разочаровать пользователя, учитывая тот факт, что программе требуется записать всего несколько мегабайт данных в папку «Мои документы». Простые решения Я сталкивался с изложенными проблемами снова и снова в таком количестве игр, что даже не могу их все вспомнить. К счастью, в большинстве случаев существуют удобные обходные пути. Моим любым способом устранения этих проблем является отказ от такой игры и переход на игру того же жанра, но другого издателя, которая подготовлена к работе с учетными записями пользователей с ограниченными правами. Хотя это и может показаться слишком радикальным решением. И это не очень хорошее решение, когда на новую игру только что были потрачены 60 долларов и нет возможности вернуть ее, потому что коробка уже открыта. Так что давайте рассмотрим способы устранения проблем, возникших с играми, которые уже куплены. Устранение проблем, связанных с защитой от копирования Сначала давайте займемся проблемой с драйвером защиты от копирования. Системы защиты от копирования должны быть, но это не означает, что они должны мешать пользователям, не являющимся администраторами, играть в игры! В большинстве игр используется механизм защиты от копирования SafeDisc компании Macrovision, при использовании которого устанавливается драйвер, проверяющий наличие оригинального диска с игрой. По умолчанию этот драйвер настроен таким образом, что запускается по требованию (функция, которую пользователям с ограниченными правами запускать запрещено). Корпорация Майкрософт и компания Macrovision распространяют исправление этой проблемы, но я нашел другой обходной путь: - Пользуясь административной учетной записью, откройте диспетчер устройств.
- Перейдите к меню «Вид» и выберите пункт «Показывать скрытые устройства».
- Разверните узел Non-Plug and Play Drivers (Драйверы устройств не Plug and Play).
- Откройте свойства драйвера Security или SecDrv (см. рис. 3).
- Измените тип запуска на автоматический.
Рис. 3. Обеспечение правильной работы механизма защиты от копирования Так как теперь этот драйвер запускается при первоначальной загрузке компьютера, то в момент, когда пользователь вставляет диск для запуска игры, он готов. Устранение проблем с доступом к файловой системе и реестру Предполагаемое наличие неограниченного доступа к любой части файловой системы или реестра является распространенной проблемой многих современных и старых программ, а не только игр. В статье Aaron Margosis (Арона Маргосиса) на веб-странице под названием «Problems of Privilege: Find and Fix LUA Bugs» («Проблемы привилегий: найдите и устраните ошибки, связанные с ограниченными правами пользователя») (на английском языке) решение различных проблем, связанных с необходимостью в обладании правами администратора, рассматривается значительно подробнее.
Проблемы с доступом отслеживать, может быть, несколько сложнее, но если необходимый набор файлов, папок и разделов реестра определен, расширение прав доступа, указанных в списках управления доступом (ACL), чтобы позволить пользователям с ограниченными правами играть в определенную игру, является достаточно простой задачей. Наиболее успешным оказался следующий метод. - Загрузите с веб-узла microsoft.com/technet/sysinternals последние версии служебных программ Filemon и Regmon.
- Запустите эти служебные программы как администратор, и пусть они начнут собирать данные в журналы регистрации.
- Несколько минут поиграйте в игру в качестве администратора, выполняя наиболее часто используемые задания (начните новую кампанию, сохраните игру, инициируйте сетевую игру и т.д.).
- Отфильтруйте результаты в программах Filemon и Regmon, сосредоточившись на случаях доступа, исходящих от тестируемой игры.
- Расширьте соответствующим образом права доступа, указанные в списках ACL для папок и разделов реестра, к которым обращается игра.
- Запустите игру без прав администратора, чтобы убедиться в том, что она работает.
Однако при расширении прав доступа, указанных в списках ACL, будьте осторожны, не расширяйте их слишком сильно (например Everyone—Full Control (Всем — полный контроль)) или на слишком высоком уровне (например HKEY_CLASSES_ROOT). Также лучше избегать изменения прав в отношении системных папок, например %SYSTEMROOT% и %PROGRAMFILES%, чтобы не допустить полного выхода из строя системы Windows или оставления ее в незащищенном состоянии. Еще одним возможным обходным путем является запуск игры в качестве локального опытного пользователя системы. Это, по-моему, не лучший выход, но при использовании учетной записи, являющейся локальной для данной системы, в случае происшествия масштабы ущерба будут хотя бы ограничены одной рабочей станцией. Я пришел к выводу, что это способ действует для большинства игр, которые предположительно работают правильно только при их запуске администратором. В качестве отступления можно отметить, что удобным способом самообновления игры является кратковременный запуск ее в качестве администратора. Я обычно запускаю игру в качестве администратора, вызываю ее функцию обновления, затем выхожу из игры и возвращаюсь к своей учетной записи пользователя с ограниченными правами, чтобы поиграть по-настоящему. (Стоит отметить, что ОС Windows Vista™ позволяет пользователям с ограниченными правами обновлять приложения, если исправления подписаны исходным издателем.) Система Windows Vista также способствует разрешению проблем, возникающих у игр и приложений с доступом к файлам и реестру. По умолчанию запускаемые пользователями с ограниченными правами программы имеют включенные оболочки виртуализации, которые в случае неправильного доступа к файлу или реестру выполняют переадресацию к кэшу конкретного пользователя. Я лично видел разработанные в эпоху ОС Windows 9x игры (например игру The Neverhood), которые не работали нормально в ОС Windows XP (из-за проблем с правами), но отлично работают в ОС Windows Vista с оболочками по умолчанию. Я с нетерпением жду возможности протестировать проблематичные игры в ОС Windows Vista, но чувствую, что мне будет сложно найти игру, для которой ОС Windows Vista не сможет настроить подходящую оболочку. Устранение проблем с брандмауэром. Лучше всего проблемы с брандмауэром разрешаются при первоначальной установке игры. Однако, если программа настройки игры не настолько продумана, чтобы запросить и выполнить необходимые настройки брандмауэра, ниже приводится метод, который, по моему мнению, работает хорошо. - Войдите в систему как администратор.
- Из панели управления откройте брандмауэр Windows.
- Выберите добавление программы в список исключений брандмауэра.
- Выберите в списке игру или найдите исполняемый файл игры с помощью окна обозревателя, когда это будет предложено.
Добавляя исполняемый файл игры в исключения брандмауэра, я обеспечиваю этой игре доступ к любым портам, которые ей нужны для правильной работы. Затем следует большая бойня! Устранение проблем, касающихся корпоративных клиентов Проблемы, которые возникают при запуске игр на корпоративных клиентах, со временем исчезнут. Число семей, имеющих несколько компьютеров и широкополосную сеть, увеличивается, и сообщество пользователей, которые в домашних условиях применяют сервер SBS, растет. Но пока решение все еще необходимо. В моем конкретном случае я обнаружил, что использование в системе локальной учетной записи пользователя с ограниченными правами позволяет обойти проблему, связанную с перенаправлением папки «Мои документы». Игры Age of Empires III и Fable: The Lost Chapters отлично работали при запуске пользователем с ограниченными правами, если папка «Мои документы» не переадресовывалась в сетевую папку. Заключение Я настоятельно рекомендую запускать программы в качестве пользователя с ограниченными правами чтобы иметь возможность пользоваться преимуществами, связанными с работой не в качестве администратора. Не всегда просто играть в подключенном к корпоративной среде и предоставляющем меньше всего прав мире, но это далеко не невозможно. За много лет я нашел множество игр в каждом из жанров, которые правильно работают при использовании учетной записи пользователя с ограниченными правами. И я обнаружил несколько способов устранения проблем, позволяющих заставить работать множество других игр. Тем временем за счет введенной в системе Windows Vista виртуализации игры, в которые невозможно было играть в качестве пользователя с ограниченными правами в ОС Windows XP, снова начинают работать.
|
|