Здравствуйте VladD2, Вы писали:
VD>>>А что мешает просто дать привелегию конкретному экаунту?
AF>>Только соображения безопасности. SE_TCB_NAME означает полный контроль над системой.
VD>Ну, не столь уж и полный.
Полный. Имея эту привилегию можно выполнять действия от лица любого пользователя, даже не зная его пароля. Можно загружать произвольный код в ядро, и многое чего еще.
VD>Да и если такой экаунт будет использоваться только для запуска сервиса, то ничего страшного этом нет (под системом же запускают). Зато такой экаунт и в сетку может вылезти и другие действия делать. Главное пароли на стикерах по офису не расклеивать.
Можно и так. Общепринятая практика состоит в том, чтобы держать весь код, который требует TCB-привилегию, в LocalSystem. На самом деле эта привилегия не так часто и нужна.
Кстати, начиная с XP, LogonUser больше не требует эту привилегию, поскольку сама по себе LogonUser никакой опасности не представляет.
VD>>>Более того, мне кажется что, экаунт автоматом получит данную привелегию если под ним запустить сервис.
AF>>Не получит.
VD>Да? Тогда объясни как у меня оказалась эта привелегия если я ее сам не ставил (а кроме меня некому)? Может COM+ ее забабахивает?
Я не знаю, кто ее забабахиват, но факт создания службы с некоторым аккаунтом никак не влияет на набор привилегий этого аккаунта.
AF>>В NT4 привилегии управляются в User Manager (musrmgr.exe), меню Policies|User Rights..., если мне память не изменяет.
VD>Да я вроде знаю, но вот когда полез ее там высматривать, то не нашел ее там.
Так что привилегия есть, а выключить ее...
"Act as part of the operating system", как обычно. Не забудь включить галочку "Show advanced user rights".