Tìm hiểu về Security Identifier (SID) và cách xóa SID trên Windows

Chào các bạn, chúng ta cùng đến với một chủ đề khá quen thuộc trong hệ thống máy chủ Windows hoặc Hệ Điều Hành Windows. Đó chính là tìm hiểu về giá trị SID (Security Identifier) trên Windows và cách xoá SID trên Windows ra sao ? Tại sao chúng ta lại phải xoá bỏ nó nữa nhé.

1. Security Identifier (SID) là gì?

SID (Security Identifier – Security ID) là con số dùng để định danh các đối tượng (user, group, computer,… ) trong hệ thống Windows.

2. Tại sao Windows cần SID?

Thông tin SID cho local grouplocal account được tạo bởi LSA (Local Security Authority) trên windows và nó lưu trữ thông tin SID trong registry. Còn thông tin SID cho domain accountdomain group thì được tạo bởi DSA (Domian Security Authority) và được lưu trữ như là 1 thuộc tính của user hoặc group trong Active directory domain services (ADDS).

SID được phát sinh khi một đối tượng (user, group, computer,… ) được khởi tạo và tuyệt nhiên không thể tồn tại 2 SID giống nhau. Thông thường chúng ta chỉ thấy username là “Tí”, “Tèo” nhưng đối với Windows nó là 1 con số định danh đại diện (SID). Và Security Authority không bao giờ sử dụng lại SID của những đối tượng đã bị delete ( vi dụ: tạo user name tên Tí, sau đó xóa xong, tạo lại thì user name Tí “mới” sẽ có SID khác).

SID cho phép rename các đối tượng mà không ảnh hưởng đến các thuộc tính của đối tượng.

3. Cấu trúc SID

Cấu trúc thông tin một SID có dạng như sau:

Chú thích:

  • Revision: xác định phiên bản của SID, nếu SID được tạo bởi HDH server 2003 trở về sau thì có Revision là 1.
  • Identifier Authority (IA): Dùng để định danh cho tổ chức cấp phát SID có các giá trị dưới. Ví dụ, 1 account hay Security Group thì IA=5 (vd: group administrators, group users v.v). SID của group EveryOne thì có IA=1.
    + IA=0: Null Authority Đại diện cho SID của một đối tượng không được biết.
    + IA=1: World Authority (Ví dụ: Đại diện cho SID của group EveryOne).
    + IA=2: Local Authority(Đại diện cho SID của user có quyền đăng nhập cục bộ).
    + IA=3 Creator Authority (Đại diện cho SID của chủ sở hữu tạo đối tượng).
    + IA=4 Non-unique Authority,
    + IA=5 NT Authority
    + IA=9: Resource Manager Authority.
  • Subauthorities: chứa những thông tin quan trọng của SID , dùng dể định danh local computer hoặc domain. Phần giá trị cuối cùng của Subauthorites gọi là RID (Relative identifier) dùng để định danh user hoặc security group trong domain hoac local computer.

Ví dụ: về dãy số SID của 1 user thuộc nhóm Administrator : S-1-5-21-1180699209-877415012-3182924384-1001

Chú thích:

  • S: xác định đây là 1 SID
  • 1: Revision
  • 5: IA
  • 21-1180699209-877415012-3182924384: Subauthorities
  • 1001: RID. RID của tài khoản Administrator luôn bằng 500. SID của tài khoản guest luôn bằng 501.

SID user account thay đổi khi di chuyển (move) user từ domain này sang domain khác (SID của group thì không đổi), lúc này SID mới sẽ chép đè lên thuộc tính của user. SID cũ sẽ được copy vào thuộc tính khác của user là SID-Hostory (sidHistory). Cứ mỗi lần move user thì hệ thống lại làm tiếp tục như thế. Thuộc tính SID-History sẽ chứa nhiều SID cũ.

Ghi chú:

  • Windows cấp quyền (allow, deny) cho đối tượng để truy cập tài nguyên dựa vào Acess Control Lists (ACLs) mà ACLs lại dùng SID để định danh các đối tượng.
  • Trong môi trường domain, khi user đăng nhập thành công, Domain Authentication Service sẽ truy vấn về AD database, trả về kết quả là các SID của user (cũ, mới) và SID của group mà chứa user đó. Windows sẽ khởi tạo Acess Token (thẻ truy cập) chứa các SID đó.. Khi user truy cập tài nguyên, Acess Token sẽ kiểm tra lại ACLs để thực hiện hành động allow hay deny.
  • Do SID của group trong môi trường domain không đổi (vì it khi move group) cho nên ta nên phân quyền tài nguyên theo group,nhưng có các trường hợp ta phân quyền theo user thì nhờ vào thuộc tính Sid-History mà ACLs có thể biết quyền của user này khi nó bị thay đổi SID.

4. Xem thông tin SID trên Windows Server

4.1 Cách 1 – “PsGetSid”

Để xem thông tin SID trên hệ thống Windows Server ta có thể dùng công cụ có tên “PsGetSid“.

Download chương trình “PsGetSid” về, copy PsGetsid.exe vào ổ C và sử dụng chương trình bằng terminal CMD. Lúc đó bạn sẽ có được thông tin SID như hình dưới.

4.2 Cách 2 – “WMIC”

Mở terminal CMD : Run -> cmd . Sau đó thực thi câu lệnh sau trên CMD, câu lệnh này giúp xem SID của Account User.

> wmic useraccount get name,sid

Còn nếu bạn muốn xem thông tin SID của Group.

> wmic group get name,sid

sid wmic

Ta có thể thấy SID của các đối tượng user, group được phát sinh từ SID của computer (thêm RID).

4.3 Cách 3 – “Registry”

Bạn hoàn toàn có thể kiểm tra thông tin SID dựa vào thông tin Registry với đường dẫn registry như dưới.

Run -> regedit ->
HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Windows NT\CurrentVersion\ProfileList

Lưu ý:
– Khi Join Domain, SID giữa các máy phải khác nhau, nếu dùng phần mềm ghost, v.v thì các máy sẽ có SID giống nhau, vì vậy ta phải xóa SID đi để hệ thống tạo ra SID khác. Nếu không sẽ phát sinh lỗi do sự trùng lặp thông tin SID.

5. Cách xóa SID trên Windows Server 2012

Chúng ta sẽ sử dụng công cụ “sysprep” có sẵn trên Windows Server. Bạn vào thư mục đường dẫn: C:\Windows\System32\Sysprep\Sysprep.exe, chạy chương trình Sysprep .

sysgrep

Check vào ô “Generalize” khi tool box hiện ra như dưới.

Sau khi reboot, Windows bắt ta khai báo lại các thông số.

Cảm ơn các bạn đã theo dõi bài viết. Hy vọng các bạn đã hiểu sơ qua SID là gì ? và làm cách nào để xoá được thông tin Security Identifier trên Windows rồi nhé. Nếu có bất kì thắc mắc gì thì đừng ngại comment ngay bên dưới cùng “Cuongquach.com” nhé.

Previous articleEbook Python Crash Course PDF – Download Free
Next articleHướng dẫn mount ISO image trên Linux
Bạn đang theo dõi website "https://cuongquach.com/" nơi lưu trữ những kiến thức tổng hợp và chia sẻ cá nhân về Quản Trị Hệ Thống Dịch Vụ & Mạng, được xây dựng lại dưới nền tảng kinh nghiệm của bản thân mình, Quách Chí Cường. Hy vọng bạn sẽ thích nơi này !