Во-первых, токен доступа
содержит гораздо больше, чем идентификатор безопасности (SID) . Нужно только «Запустить от имени администратора» программу, чтобы увидеть в диспетчере задач, что ее пользователь является самим собой, а не администратором, и это чудо достигается просто путем изменения токена доступа, а не путем замены SID.
Во-вторых, NT-AUTHORITY и SYSTEM не являются ни учетными записями, ни группами, несмотря на то, что говорят различные другие источники (даже внутри Microsoft). У SID обычно есть имя, которое отображается при необходимости. Учетная запись пользователя будет предоставлять свой SID в качестве основного SID для токена доступа, который также будет определять имя, отображаемое различными утилитами. Но токен доступа может содержать дополнительные SID, например, для всех групп, к которым принадлежит эта учетная запись пользователя. При проверке разрешений Windows будет искать любой SID в маркере доступа, который имеет это разрешение.
Некоторые известные Windows SID будут иметь имена, сообщаемые Windows, хотя на самом деле они не принадлежат какой-либо учетной записи.
Идентификатор безопасности
определяется Википедии как:
уникальный неизменяемый идентификатор пользователя, группы пользователей или
другого участника безопасности .
SID не должен даже определять учетную запись пользователя или группу. Он просто определяет набор разрешений. Вышеупомянутая статья Википедии добавляет:
Windows предоставляет или запрещает доступ и привилегии к ресурсам на основе списков контроля доступа (ACL), которые используют SID для уникальной идентификации пользователей и их членства в группах. Когда пользователь входит в систему, генерируется токен доступа, который содержит SID пользователя и группы и уровень привилегий пользователя. Когда пользователь запрашивает доступ к ресурсу, токен доступа сверяется с ACL, чтобы разрешить или запретить конкретное действие с конкретным объектом.
SID NT-AUTHORITY\SYSTEM
может быть добавлен к другим учетным записям. Например, это сказано об
учетной записи LocalSystem :
Учетная запись LocalSystem является предопределенной локальной учетной записью, используемой диспетчером управления службами. [...] Его токен включает идентификаторы NT AUTHORITY \ SYSTEM и BUILTIN \ Administrators; эти учетные записи имеют доступ к большинству системных объектов.
В приведенном выше тексте уже можно увидеть путаницу, которая царит даже в документации Microsoft относительно системных идентификаторов безопасности, которые не являются ни учетными записями, ни группами, а представляют собой просто набор разрешений. Эта путаница распространяется и на другие утилиты и статьи, поэтому любая возвращенная информация должна быть тщательно изучена.
В статье Microsoft «
Известные идентификаторы безопасности в операционных системах Windows»
подробно описаны все системные идентификаторы безопасности, некоторые из которых я приведу ниже:
Вывод : NT-AUTHORITY \ SYSTEM - это имя идентификатора безопасности, который не является ни группой, ни учетной записью. Он отображается в диспетчере задач как СИСТЕМА, когда он является основным SID программы. Максимум, что я бы назвал, это «псевдо-счет».