Как может быть разница между "Вход в систему: локальная системная учетная запись" и "NT Authority\System"?

Прежде всего, я хочу уточнить, что я просматривал множество вопросов, касающихся учетной записи "Локальная система", и, хотя я чувствую себя осведомленным о свойствах учетной записи, ни один из них, похоже, не объясняет мой сценарий.

Я развертываю службу на Windows Server 2008 клиента. Машина уже годами используется для учета кредитов принтеров и имеет существующую систему учета. Мой сервис просто связан с этой системой учета.

Проблема заключается в том, что, если я установлю свой сервис, как я сделал бы, и сделал это во многих других системах с "Вход в систему: учетная запись локальной системы" в services.msc, я получаю проблемы, связанные с разрешениями.

Сначала я запустил его из cmd, используя различные учетные записи "Администратор", "NT Authority\Network Service" и "NT Authority\System". Ни один из них не вызывает никаких проблем. Что особенно странно для последнего.

Это становится очень странным, когда я захожу в services.msc и переключаюсь на "Этот аккаунт", набираю "nt полномочия \ система", и неожиданно это работает отлично. Когда я изменяю его обратно на "Локальная системная учетная запись", проблемы снова возникают.

Следует отметить, что аппарат является частью какой-то рабочей группы, и несколько служб учета печати работают как пользователи домена, созданного моим клиентом. Я не знаю намного больше об их настройке аутентификации, и я действительно думал, что не должен был.

Как может быть разница между "Вход в систему: локальная системная учетная запись" и "NT Authority\System"?

1 ответ

Эта статья объясняет это хорошо

Это две разные вещи. Локальная системная учетная запись должна содержать токен для NT Authority\System, так что это не объясняет, почему у вас проблемы, но между учетными записями, безусловно, есть различия. Они не являются синонимами друг для друга.

Это предостережение может объяснить, что вы видите:

Служба, которая работает в контексте учетной записи Local System, наследует контекст безопасности SCM. SID пользователя создается из значения SECURITY_LOCAL_SYSTEM_RID. Учетная запись не связана ни с одной из зарегистрированных учетных записей пользователей. Это имеет несколько последствий:

• Раздел реестра HKEY_CURRENT_USER связан с пользователем по умолчанию, а не с текущим пользователем. Чтобы получить доступ к профилю другого пользователя, выдать себя за пользователя, а затем получить доступ к HKEY_CURRENT_USER.

• Сервис может открыть раздел реестра HKEY_LOCAL_MACHINE \ SECURITY.

• Служба представляет учетные данные компьютера на удаленных серверах.

• Если служба открывает командное окно и запускает пакетный файл, пользователь может нажать CTRL+C, чтобы завершить пакетный файл и получить доступ к командному окну с разрешениями Local System.