Là AUT NTORITY \ HỆ THỐNG Là một người dùng hoặc một nhóm?


17

Trong Windows, người dùng Systemđược hiển thị với ký hiệu nhóm : nhập mô tả hình ảnh ở đây. (Sử dụng Tra cứu API Win32 nội bộAccountSid cũng cho thấy rằng nó dường như là một nhóm SidTypegroup .)

Trên quá trình Mặt khác có thể chạy trong system contextnhư thế nào trong một user context. Ngoài ra các tài liệu của Microsoft mô tả nó là "người dùng hệ thống" hoặc "tài khoản hệ thống" chứ không phải là "nhóm hệ thống".

Đây có phải là người dùng cho bất kỳ mục đích di sản nào được hiển thị dưới dạng nhóm không?

(Hay đó là điều mà Werner Heisenberg sẽ quan tâm?)


Lưu ý: Người dùng NT AUTHORITY \ HỆ THỐNG là gì? tương tự nhưng không trả lời câu hỏi tại sao nó được hiển thị dưới dạng nhóm và hoạt động như một người dùng.


Điều này có thể trả lời của bạn? câu hỏi tại đây: superuser.com/questions/471769/
Mạnh

Bạn nói đúng lời xin lỗi tồi tệ của tôi
XsiSec

SID không phải là một trong số đó, phải không?
dùng1686

Câu trả lời:


13

Thứ nhất, access token chứa nhiều hơn so với các định danh bảo mật (SID) . Người ta chỉ phải "Chạy với tư cách quản trị viên" một chương trình để xem trong Trình quản lý tác vụ rằng người dùng của nó là chính mình chứ không phải Quản trị viên và điều kỳ diệu này đạt được chỉ bằng cách sửa đổi mã thông báo truy cập, chứ không phải bằng cách thay thế SID.

Thứ hai, NT-AUTHORITY và HỆ THỐNG không phải là tài khoản hay nhóm, bất chấp những gì nói về nhiều nguồn khác nhau (ngay cả trong Microsoft). SID thường có tên được hiển thị bất cứ khi nào cần thiết. Tài khoản người dùng sẽ đóng góp SID của nó làm SID chính cho mã thông báo truy cập, cũng sẽ xác định tên được hiển thị bởi các tiện ích khác nhau. Nhưng mã thông báo truy cập có thể chứa SID bổ sung, ví dụ: cho tất cả các nhóm thuộc tài khoản người dùng đó. Khi kiểm tra quyền, Windows sẽ tìm bất kỳ SID nào trong mã thông báo truy cập có quyền đó.

Một số Windows SID nổi tiếng sẽ có tên được báo cáo bởi Windows, mặc dù chúng không thực sự thuộc về bất kỳ tài khoản nào.

Một Security Identifier được xác định bởi Wikipedia như:

một định danh duy nhất, bất biến của người dùng, nhóm người dùng hoặc hiệu trưởng bảo mật khác .

SID thậm chí không cần xác định tài khoản người dùng hoặc nhóm. Nó chỉ định nghĩa một tập các quyền. Bài viết trên Wikipedia cho biết thêm:

Windows cấp hoặc từ chối quyền truy cập và đặc quyền đối với các tài nguyên dựa trên danh sách kiểm soát truy cập (ACL), sử dụng SID để xác định duy nhất người dùng và tư cách thành viên nhóm của họ. Khi người dùng đăng nhập vào máy tính, mã thông báo truy cập được tạo có chứa SID của người dùng và nhóm và cấp đặc quyền người dùng. Khi người dùng yêu cầu quyền truy cập vào tài nguyên, mã thông báo truy cập được kiểm tra đối với ACL để cho phép hoặc từ chối hành động cụ thể trên một đối tượng cụ thể.

SID của NT-AUTHORITY\SYSTEMcó thể được thêm vào các tài khoản khác. Ví dụ: điều này được nói về Tài khoản LocalSystem :

Tài khoản LocalSystem là tài khoản cục bộ được xác định trước được sử dụng bởi người quản lý kiểm soát dịch vụ. [...] Mã thông báo của nó bao gồm NT AUTHORITY \ HỆ THỐNG và BUILTIN \ Quản trị viên SID; những tài khoản này có quyền truy cập vào hầu hết các đối tượng hệ thống.

Người ta có thể thấy trong văn bản trên, sự nhầm lẫn ngự trị ngay cả trong tài liệu của Microsoft liên quan đến SID hệ thống, không chính xác là tài khoản cũng như các nhóm - vốn chỉ là một tập hợp quyền. Sự nhầm lẫn này tiếp tục mở rộng đến các tiện ích và bài viết khác, vì vậy bất kỳ thông tin trả lại nào cũng cần được kiểm tra cẩn thận.

Bài viết của Microsoft Các định danh bảo mật nổi tiếng trong các hệ điều hành Windows chi tiết tất cả các SID hệ thống, một số trong đó tôi bao gồm bên dưới:

hình ảnh

Kết luận : NT-AUTHORITY \ HỆ THỐNG là tên của ID bảo mật, không phải là một nhóm hay một tài khoản. Nó được hiển thị trong Trình quản lý tác vụ dưới dạng HỆ THỐNG khi nó là SID chính của chương trình. Phần lớn tôi sẽ gọi nó là "tài khoản giả".


1
Bạn đánh tôi với nó bạn của tôi. Tôi đã viết được một nửa câu trả lời tương tự khi câu trả lời của bạn xuất hiện. Đây là lời giải thích phù hợp. Nó chỉ là một tập hợp các quyền và cho dù nó được hiển thị dưới dạng nhóm hay người dùng đều sai. Vì hầu hết các công cụ chỉ có thể hiển thị "người dùng hoặc" nhóm ", họ chỉ chọn một hoặc một nhóm khác. Thông thường nhóm là API WIn32 đặt SidTypegroup phù hợp và đó là hầu hết các ứng dụng lấy thông tin của họ từ.
Tonny

Ồ Tôi bắt đầu một tiền thưởng để thưởng cho một câu trả lời hiện có, và điều gì xảy ra? Một câu trả lời tốt hơn xuất hiện. :-) Một câu hỏi mặc dù: Tài khoản LocalSystem cũng có SID riêng ("tài khoản") hay chỉ đơn giản là sử dụng NT-AUTHORTY \ HỆ THỐNG SID làm SID chính của nó?
Heinzi

1
@Heinzi: LocalSystem là một "tài khoản giả" khác. Người ta có thể thấy điều này trong liên kết có nội dung: "Tài khoản này không được hệ thống con bảo mật nhận ra, vì vậy bạn không thể chỉ định tên của nó trong một cuộc gọi đến chức năng Tra cứuAccountName".
harrymc

- which are just a set of permissions: cái nào đề cập đến ID hệ thống hoặc tài khoản hoặc nhóm ?
René Nyffalanger

@ RenéNyffalanger: Cả hai.
harrymc

7

IMHO quan sát của bạn là chính xác. NT-AUTHORITY\SYSTEMlà một nhóm, vì vậy bạn có thể gọi nó là nhóm hệ thống . Nhóm này tồn tại kể từ Windows NT 4 ít nhất và đã là một nhóm ở đó:

Nhóm đặc biệt

[...]

Hệ thống - Hệ điều hành.

Ngoài ra còn có một tài khoản gọi là LocalSystem

[...] Bao gồm NT AUTHORITY \ HỆ THỐNG [...]

vì vậy bạn có thể gọi đây là người dùng hệ thống là thành viên của nhóm HỆ THỐNG.

SysInternals PsGetSid ủng hộ giả thuyết nhóm cho hệ thống:

C:\>PsGetsid.exe S-1-5-18

PsGetSid v1.44 - Translates SIDs to names and vice versa
Copyright (C) 1999-2008 Mark Russinovich
Sysinternals - www.sysinternals.com

Account for YOURPCNAMEHERE\S-1-5-18:
Well Known Group: NT-AUTHORITY\SYSTEM

Về việc bắt đầu một quá trình như một nhóm:

Để quản lý bảo mật, một quy trình sẽ nhận được mã thông báo truy cập . Mã thông báo truy cập chỉ chứa SID. Tôi không chắc liệu có kiểm tra xem SID của người dùng thực sự là người dùng hay nhóm hay không. Về nguyên tắc, điều đó không thành vấn đề: SID xác định những gì có thể được truy cập. Có lẽ bài viết CodeProject có thể giúp thực hiện

Khi sử dụng trang web của chúng tôi, bạn xác nhận rằng bạn đã đọc và hiểu Chính sách cookieChính sách bảo mật của chúng tôi.
Licensed under cc by-sa 3.0 with attribution required.