Системные политики для ограничения MS-DOS

Windows: системное администрирование

Корпорация Microsoft при разработке операционных систем все время сталкивается со следующей дилеммой. С одной стороны, это потребность в обеспечении совместимости с предшествовавшими операционными системами и программами, разработанными под них, в том числе совместимостью с MS-DOS. С другой стороны, с настоятельной потребностью избавиться от той же MS-DOS для обеспечения безопасной и стабильной работы, для построения подлинно многозадачной системы и корректного разделения в ней ресурсов. Об этом же говорит расшифровка аббревиатуры, дающей название ключа системного реестра, который хранит политики, предназначенные для ограничения MS-DOS: "WinOldApp" - "устаревшие приложения Windows".

При администрировании как сетевых клиентов Windows, так и серверов время от времени у администратора возникает необходимость запрета для пользователей запуска DOS-приложений или перезагрузки компьютера в монопольном режиме MS-DOS.

Для обоснования полезности политик, к которым прибегают для ограничения использования MS-DOS в Windows-системах, приведу несколько соображений.

Для безопасности и стабильности систем, работающих под Windows, опасны 16-битные Windows-приложения. В то время как большинство MS-DOS-приложений прекрасно работают в среде 32-битных Windows вместе с другими 16-битными и 32-битными Windows-приложениями, отдельные MS-DOS-приложения требуют для работы монопольного доступа к системным ресурсам. Для такого приложения "Менеджер виртуальных машин" (VMM) создает системное окружение с исключительными правами, так называемый режим MS-DOS. Когда DOS-приложение запущено в монопольном режиме MS-DOS, оно получает исключительные права на системные ресурсы, и никакие другие приложения или процессы не имеют права доступа к системным ресурсам. Поэтому DOS-приложения также представляют угрозу из-за возможного захвата контроля над системными ресурсами. Кроме этого, запрет MS-DOS не даст запускать игровые программы, разработанные под MS-DOS, которые отвлекают от работы и часто, как, впрочем, и все игрушки, являются носителями вирусов.

 

Хотя вся аргументация, приведенная выше, как и системные политики, разработанные Microsoft для ограничения MS-DOS, всего лишь полумера.


Запрет командной строки MS-DOS

Эта политика запрещает использование командной строки MS-DOS в Windows или запуск DOS-приложений из оболочки Windows.

За состояние этой системной политики отвечает целочисленный параметр "Disabled" хранящийся в разделе HKEY_CURRENT_USER системного реестра в ветви "Software\Microsoft\Windows\CurrentVersion\Policies\WinOldApp". Значение параметра, равное "1", вводит ограничение на запуск MS-DOS-приложений, значение "0" или отсутствие параметра есть состояние "по умолчанию" и снимает этот запрет.

При попытке запуска DOS-приложения или активизации "командной строки MS-DOS" через иконку, содержащую ссылку на командный интерпретатор (процессор) "COMMAND.COM", Windows выдает сообщение о запрете запуска администратором. Я не привожу буквальное содержание сообщения, которое варьируется в зависимости от версии Windows.


Запрет запуска в монопольном режиме MS-DOS-приложений

Эта политика нацелена на запрет перегрузки из Windows в монопольный режим MS-DOS ("Single Mode"). Состояние ее не влияет на использование командной строки MS-DOS в Windows или запуск приложений MS-DOS из оболочки Windows.

Состояние этой системной политики хранится в целочисленном параметре "NoRealMode", который находится в той же ветви системного реестра, что и описанный выше: "Software\Microsoft\Windows\CurrentVersion\Policies\WinOldApp" в разделе HKEY_CURRENT_USER. Значение параметра равное "1" отвечает за запрет на запуск MS-DOS в монопольном режиме ("Single Mode"). Значение параметра "0", являющееся "значением по умолчанию", или его отсутствие снимает запрет монопольного режима MS-DOS.

При активизации этой системной политики в Windows 95/98 из диалога "Завершение работы" ("Shut Down") убирается пункт меню "Перезагрузить компьютер в режиме MS-DOS" ("Restart in MS DOS mode"). Однако здесь же стоит отметить, что это не запрещает полностью запуск монопольного режима MS-DOS. В него можно зайти, нажав при первоначальной загрузке Windows клавишу F8 и выбрав далее один из пунктов, содержащих запуск в "командной строке".

В Windows версии ME и поздних этот параметр может храниться в реестре в двух разделах: в разделе HKEY_CURRENT_USER и в разделе HKEY_LOCAL_MACHINE, - и распространять область действия либо на весь "Компьютер" (Local Machine), либо на "Текущего пользователя" (Current User), соответственно. Конфликта между политиками, имеющими разную область действия, не возникает: любая политика отменяет монопольный режим MS-DOS.

В Windows ME предпринята еще одна попытка покончить c MS-DOS - в диалоге "Завершение работы" ("Shut Down"), в отличие от Windows 9.x, убран пункт "Перезагрузить компьютер в режиме MS-DOS". Однако она унаследовала значительную часть интерфейса от предыдущих версий. Поэтому политика для запрета запуска в монопольном режиме MS-DOS, примененная на весь "Компьютер" (Local Machine), используется для того, чтобы убрать часть ненужных элементов. Получается интересный эффект: если деактивировать эту системную политику путем удаления параметра из системного реестра, то в диалоге "Завершение работы" ("Shut Down") появляется пункт меню "Перезагрузить компьютер в режиме MS-DOS". Но попытка перезагрузки в MS-DOS ничего не дает, выдается сообщение о том, что эта версия Windows не поддерживает монопольный режим MS-DOS.

Valient Newman,
www.geocities.com/werebad

Версия для печатиВерсия для печати

Номер: 

26 за 2002 год

Рубрика: 

Software
Заметили ошибку? Выделите ее мышкой и нажмите Ctrl+Enter!