Blog of Khlebalin Dmitriy

(Дорогу осилит идущий…)

Использование команды RunAs (win2003)


Как правило, большинство системных инструментов требует наличия у запускающего их пользователя административных привилегий. Таким образом, чтобы иметь возможность выполнения операций по управлению системой, администратор должен зарегистрироваться в системе под учетной записью, обладающей соответствующими правами. Однако правила безопасности требуют от администратора не пользоваться для постоянной работы в системе подобными учетными записями.
Команда RunAs позволяет администратору выполнять всю работу по управлению системой, зарегистрировавшись в ней с использованием учетной записи рядового пользователя с весьма ограниченными правами. При помощи данной команды администратор может запускать любые утилиты от имени «уполномоченного» пользователя (при этом может быть задействована либо учетная запись администратора, либо учетная запись пользователя, обладающего необходимыми правами).

Внимание
Для работы команды RunAs необходимо, чтобы была запущена служба Secondary Logon. Поэтому, в случае возникновения проблем с работой данной команды необходимо в первую очередь убедиться в том, что указанная служба действительно запущена. Чтобы убедиться в этом, можно использовать оснастку Services.

Команда RunAs может быть использована для установки и проверки пользовательских разрешений на доступ к файлам или объектам Active Directory. Для задания пользователю разрешений необходимо запустить соответствующую утилиту с административными привилегиями. Одновременно можно запустить требуемое приложение в контексте полномочий рассматриваемого пользователя и проверить результирующие разрешения. Таким образом, задача может быть решена (и, что главное, проверена) без необходимости повторных регистрации в системе под разными учетными записями.
Команда RunAs может использоваться в двух режимах.

  •  Запуск утилит из контекстного меню. Запуск утилиты или оснастки с необходимыми полномочиями происходит путем использования контекстного меню. Администратор выбирает соответствующий пункт меню и предоставляет информацию о своих полномочиях. Данный режим идеально подходит для запуска графических утилит.
  •  Запуск утилит из командной строки. В режиме командной строки администратор вводит команду со всеми необходимыми параметрами. Этот режим может использоваться для запуска утилит командной строки. Другим преимуществом этого режима является возможность отображения сведений о результатах процесса запуска (в том числе информация о возникающих ошибках).

Рассмотрим особенности использования каждого из режимов более подробно.

Запуск утилит из контекстного меню

Администратор может запускать утилиты и оснастки любым способом — из главного меню, с рабочего стола, из программы Windows Explorer. При этом механизм административных утилит не требует, чтобы утилита запускалась на контроллере домена. Более того, чтобы не снижать производительность контроллера домена, рекомендуется использовать для управления системой специально выделенную рабочую станцию. Чтобы иметь на этой рабочей станции возможность осуществлять управление сетью, администратор должен предварительно установить на нее необходимые административные утилиты (как из набора Windows Server 2003 Administrative Pack, так и из вспомогательных пакетов Windows Server 2003 Support Tools и Resource Kit).
В случае если речь идет об установке определенных утилит для пользователей, которым делегированы полномочия на выполнение определенных операций, нет необходимости устанавливать весь пакет утилит. Можно установить на рабочую станцию только одну или несколько утилит из пакета Windows Server 2003 Administrative Tools. Для этого следует скопировать необходимые оснастки (файлы с расширением msc) и связанные с ними DLL-библиотеки из папки %SystemRoot%\system32 контроллера домена в любую папку на рабочей станции. Перейдя в указанную папку на рабочей станции, требуется зарегистрировать скопированные DLL-библиотеки. Для этого в режиме командной строки необходимо выполнить:  regsvr32 <имя_DLL-библиотеки>
В табл. 10.1 приведены имена DLL-библиотек для некоторых, наиболее важных административных утилит.

Таблица 10.1. DDL-библиотеки, необходимые для работы некоторых административных утилит

Оснастка Имя файла оснастки Имя DLL-библиотеки
Active Directory Domain and Trusts domain, msc domadmin.dll
Active Directory Users and Computers dsa.msc dsadmin.dll
Active Directory Sites and Services dssite.msc dsadmin.dll
Active Directory Schema schmmgmt.dll

Примечание
Оснастка Active Directory Schema не инсталлируется автоматически. После того как файл schmmgmt.dll скопирован на рабочую станцию и зарегистрирован, пользователь должен добавить оснастку в управляющую консоль (ММС) и сохранить под некоторым именем.

Чтобы при помощи команды RunAs запустить утилиту с необходимыми полномочиями, вызовите контекстное меню утилиты, щелкнув по ее имени или пиктограмме правой кнопкой мыши. В меню выберите пункт Run as (Запустить как). В открывшемся окне (рис. 10.4) надо определить способ запуска утилиты — либо с полномочиями текущего пользователя (переключатель Current user), либо с полномочиями другого пользователя (переключатель The following user). В последнем случае необходимо предоставить сведения об имени учетной записи и сопоставленном ей пароле. Следует также указывать имя домена, к которому принадлежит учетная запись.

1

Рис. 10.4. Запуск программы с полномочиями другого пользователя

Примечание
Запуская утилиту в контексте текущего пользователя, можно защитить систему (прежде всего данные) от несанкционированных действий со стороны запущенного приложения. Подобные действия могут иметь место в случае, если приложение заражено компьютерным вирусом или является своего рода «троянским конем». Для этого необходимо установить флажок Run this program with restricted access.
В контекстном меню отдельных утилит имеется пункт Author, выбор которого позволяет запустить оснастку в авторском режиме. Авторский режим дает возможность модифицировать параметры оснастки.

Если утилита должна всегда запускаться в рамках полномочий другого пользователя, необходимо соответствующим образом сконфигурировать ярлык утилиты. Вызвав окно свойств ярлыка утилиты, на вкладке Shortcut (Ярлык) нужно щелкнуть по кнопке Advanced (Дополнительно). В открывшемся окне установите флажок Run with different credentials (Запускать с другими полномочиями).

Запуск утилит из командной строки

При-помощи команды RunAs можно запускать из командной строки любые исполняемые файлы (имеющие расширение exe, com, cmd, bat, msc), ярлыки (lnk), а также элементы панели управления (cpl).

Внимание
Существуют приложения и элементы, с которыми команда RunAs не может быть использована. Например, программа Windows Explorer, папка Printers и элементы рабочего стола.

Для запуска из командной строки утилит из пакета Windows Server 2003 Administrative Tools необходимо знать имена оснасток. В табл. 10.2 приводятся имена оснасток для наиболее часто используемых утилит из этого пакета.

Таблица 10.2. Имена оснасток для некоторых утилит пакета Windows Server 2003 Administrative Tools

Утилита Имя оснастки
Active Directory Domains and Trusts domain. msc
Active Directory Schema должна быть создана администратором вручную
Active Directory Sites and Services dssite.msc
Active Directory Users and Computers dsa.msc
Computer Management compmgmt.msc
Distributed File System dfsgui.msc
DNS dnsmgmt.msc
Domain Controller Security Settings dcpol.msc
Domain Security Settings dompol.msc
Group Policy gpedit.msc
Local Security Settings secpol.msc
Routing and Remote Access rrasmgmt.msc
Services services, msc
Device Manager* devmgmt.msc
Disk Management* diskmgmt.msc
Local Users and Groups* lusrmgr.msc
Shared Folders* fsmgmt.msc

*Оснастки, не отображаемые в меню Administrative Tools. Однако их можно найти в папке %SystemRoot%\system32
Команда RunAs имеет следующий формат:

runas [ [/noprofile | /profile] [/env] [/savecred | /netonly]]
  /user:<имя_пользователя> приложение
Ключевые слова имеют следующий смысл:

  •  /noprofile — в процессе запуска утилиты не будет осуществляться загрузка профиля пользователя. Благодаря этому приложения запускаются быстрее. Однако приложения, использующие информацию, размещенную в профиле пользователя, могут не работать;
  •  /profile — загружается профиль пользователя. Данный режим выбирается по умолчанию;
  •  /env — использовать текущее окружение, вместо того, чтобы создавать окружение, характерное для конкретного пользователя;
  •  /savecred — использовать полномочия предыдущего пользователя;
  •  /netonly — использовать полномочия исключительно для доступа к удаленным ресурсам;
  •  /user — учетная запись пользователя.

Ниже приводится пример запуска оснастки Active Directory Users and Computers с полномочиями пользователя lex:  c:\runas /user:lex@khsu.ru «mmc domain.msc»
В приведенном примере утилита запускается для управления доменом, к которому принадлежит текущий пользователь. Если необходимо запустить утилиту с полномочиями пользователя, принадлежащего к другому домену, используется другой формат команды. Ниже приводится пример запуска оснастки Active Directory Users and Computers с полномочиями пользователя kaizer, принадлежащего к домену kit.khsu.ru (NetBIOS-имя домена — KIT):  c:\runas /netonly /user:KIT\kaizer «mmc domain.msc»
В приведенном примере используется формат NetBIOS для предоставления информации о домене, к которому принадлежит пользователь (домен\ пользователь). Однако допускается и использование основных имен пользователя (UPN).

30.06.2009 - Posted by | ms windows 2003

Sorry, the comment form is closed at this time.

%d такие блоггеры, как: