W systemie Windows użytkownik System
jest wyświetlane z symbolem grupy:
.
(Korzystanie z wewnętrznego interfejsu API Win32 LookupAccountSid ujawnia również, że wydaje się być grupą SidTypeGroup ).
Z drugiej strony procesy mogą działać system context
podobnie jak w user context
. Również dokumenty Microsoft opisują to jako „użytkownik systemu” lub „konto systemowe”, a nie jako „grupa systemowa”.
Czy jest to użytkownik, który do jakichkolwiek starszych celów jest wyświetlany jako grupa?
(Czy jest to coś, czym Werner Heisenberg byłby zainteresowany?)
Uwaga: Kim jest użytkownik NT AUTHORITY \ SYSTEM? jest podobny, ale nie odpowiada na pytanie, dlaczego jest wyświetlany jako grupa i zachowuje się jak użytkownik.
windows
user-accounts
local-groups
wiggle marsh
źródło
źródło
Odpowiedzi:
Po pierwsze, token dostępu zawiera znacznie więcej niż identyfikator zabezpieczeń (SID) . Trzeba tylko „uruchomić jako administrator” program, aby zobaczyć w Menedżerze zadań, że jego użytkownik jest sobą, a nie administratorem, a cud ten osiąga się jedynie poprzez modyfikację tokena dostępu, a nie poprzez zastąpienie identyfikatora SID.
Po drugie, NT-AUTHORITY i SYSTEM nie są ani kontami, ani grupami, pomimo różnych innych źródeł (nawet wewnątrz Microsoft). Identyfikator SID zwykle ma nazwę wyświetlaną w razie potrzeby. Konto użytkownika przekazuje swój identyfikator SID jako główny identyfikator SID do tokena dostępu, który określa również nazwę wyświetlaną przez różne narzędzia. Ale token dostępu może zawierać dodatkowe identyfikatory SID, na przykład dla wszystkich grup, do których należy to konto użytkownika. Podczas sprawdzania uprawnień system Windows wyszuka dowolny identyfikator SID w tokenie dostępu, który ma to uprawnienie.
Niektóre dobrze znane identyfikatory SID systemu Windows będą miały nazwy zgłaszane przez system Windows, chociaż tak naprawdę nie należą do żadnego konta.
Bezpieczeństwo Identyfikator jest określona przez Wikipedię jako:
Identyfikator SID nie musi nawet definiować konta użytkownika ani grupy. Określa tylko zestaw uprawnień. Powyższy artykuł w Wikipedii dodaje:
Identyfikator SID
NT-AUTHORITY\SYSTEM
można dodać do innych kont. Na przykład mówi się o koncie LocalSystem :W powyższym tekście widać już zamieszanie, które panuje nawet w dokumentacji Microsoftu, jeśli chodzi o systemowe identyfikatory SID, które nie są dokładnie kontami ani grupami - są tylko zestawem uprawnień. To zamieszanie obejmuje także inne narzędzia i artykuły, dlatego wszelkie zwracane informacje powinny być dokładnie sprawdzone.
Artykuł Microsoft Dobrze znane identyfikatory zabezpieczeń w systemach operacyjnych Windows szczegółowo opisują wszystkie identyfikatory SID systemu, z których niektóre zamieszczam poniżej:
Wniosek : NT-AUTHORITY \ SYSTEM to nazwa identyfikatora bezpieczeństwa, który nie jest ani grupą, ani kontem. Jest wyświetlany w Menedżerze zadań jako SYSTEM, gdy jest głównym identyfikatorem SID programu. Najbardziej nazwałbym to „pseudo-kontem”.
źródło
- which are just a set of permissions
: czy te, które odnoszą się do identyfikatorów systemu lub kont lub grup ?IMHO twoja obserwacja jest poprawna.
NT-AUTHORITY\SYSTEM
jest grupą, więc można ją nazwać grupą systemową . Ta grupa istnieje przynajmniej od systemu Windows NT 4 i już tam była:Istnieje również konto o nazwie LocalSystem, które
więc możesz nazwać to użytkownikiem systemu, który jest członkiem grupy SYSTEM.
SysInternals PsGetSid wspiera teorię grupy dla SYSTEMU:
Jeśli chodzi o rozpoczęcie procesu jako grupa:
Aby zarządzać bezpieczeństwem, proces otrzymuje token dostępu . Token dostępu zawiera tylko identyfikatory SID. Nie jestem pewien, czy istnieje sprawdzenie, czy identyfikator SID użytkownika jest naprawdę użytkownikiem czy grupą. Zasadniczo nie miałoby to znaczenia: SID określa, do czego można uzyskać dostęp. Być może artykuł CodeProject może pomóc w implementacji
źródło