Computer >> Máy Tính >  >> Hệ thống >> máy chủ Windows

Cấp quyền truy cập từ xa trên SCManager cho người dùng không phải quản trị viên

Chúng ta hãy xem xét các đặc thù của việc cấp quyền truy cập từ xa để liệt kê danh sách các dịch vụ đang chạy trên máy chủ từ xa cho người dùng miền mà không có quyền của quản trị viên cục bộ. Trên thực tế, nhiệm vụ là cung cấp kết nối từ xa với Trình quản lý kiểm soát dịch vụ ( SCManager ).

Đây là những gì vấn đề trông như thế nào. Giả sử, chúng ta muốn một người dùng từ xa hoặc hệ thống giám sát có thể truy vấn trạng thái của các dịch vụ trên máy chủ nào đó. Vì những lý do rõ ràng, người dùng từ xa này không có bất kỳ quyền quản trị và đặc quyền nào để truy cập máy chủ cục bộ.

Khi cố gắng kết nối và nhận danh sách dịch vụ trên máy tính từ xa bằng bảng điều khiển services.msc, người dùng gặp lỗi sau:

Windows không thể mở cơ sở dữ liệu trình quản lý kiểm soát dịch vụ trên computer_name

Lỗi 5:Quyền truy cập bị từ chối.

Cấp quyền truy cập từ xa trên SCManager cho người dùng không phải quản trị viên

Nếu bạn cố gắng lấy danh sách dịch vụ trên máy chủ từ xa bằng sc.exe, thì lỗi như sau:

C:\Windows\system32>sc \\lonts-01 query

[SC] OpenSCManager FAILED 5:
Quyền truy cập bị từ chối.

Cấp quyền truy cập từ xa trên SCManager cho người dùng không phải quản trị viên

Quyền truy cập vào danh sách các dịch vụ được kiểm soát bởi bộ mô tả bảo mật của cơ sở dữ liệu Service Control Manager, mà quyền truy cập từ xa của người dùng từ "Người dùng được xác thực" đã bị hạn chế trong Windows 2003 SP1 (điều đó khá hợp lý). Chỉ các thành viên của nhóm Quản trị viên cục bộ mới có quyền truy cập dịch vụ này từ xa.

Hãy xem xét cách cấp quyền truy cập từ xa cho Trình quản lý kiểm soát dịch vụ để nhận danh sách dịch vụ trên máy chủ và cách người dùng phổ biến (không có quyền quản trị) có thể nhận được trạng thái của các dịch vụ này trong Windows Server 2012 R2.

Bạn có thể lấy quyền Trình quản lý kiểm soát dịch vụ (SCM) hiện tại bằng cách sử dụng sc.exe bằng cách chạy lệnh sau trong dấu nhắc lệnh chạy với đặc quyền của quản trị viên:

sc sdshow scmanager

Lệnh trả về một chuỗi SDDL tương tự:

D:(A;;CC;;;AU)(A;;CCLCRPRC;;;IU)(A;;CCLCRPRC;;;SU)(A;;CCLCRPWPRC;;;SY)(A;;KA;;;BA)(A;;CC;;;AC)S:(AU;FA;KA;;;WD)(AU;OIIOFA;GA;;;WD)

Cấp quyền truy cập từ xa trên SCManager cho người dùng không phải quản trị viên

Trong trường hợp này, bạn có thể thấy rằng theo mặc định, nhóm Người dùng được xác thực (AU) chỉ được phép kết nối bằng SCM, nhưng không được phép thăm dò ý kiến ​​(LC) các dịch vụ. Sao chép chuỗi này vào bất kỳ trình soạn thảo văn bản nào.

Bước tiếp theo là lấy SID của người dùng hoặc nhóm mà chúng tôi muốn cấp quyền truy cập từ xa vào SCM (Cách lấy SID người dùng bằng tên người dùng). Ví dụ:hãy lấy SID của lon-hd nhóm QUẢNG CÁO:

Get-ADgroup -Identity lon-hd | select SID
SID
---
S-1-5-21-2470146451-39123456388-2999995117-23338978

Sao chép khối (A;; CCLCRPRC;;; IU) - (IU có nghĩa là Người dùng tương tác) từ chuỗi SDDL trong trình soạn thảo văn bản của bạn, thay thế IU trong khối đã sao chép bằng SID của người dùng / nhóm và dán chuỗi bạn nhận được trước đó S:

Trong trường hợp của chúng tôi, chúng tôi có chuỗi sau:

D:(A;;CC;;;AU)(A;;CCLCRPRC;;;IU)(A;;CCLCRPRC;;;SU)(A;;CCLCRPWPRC;;;SY)(A;;KA;;;BA)(A;;CC;;;AC)(A;;CCLCRPRC;;;S-1-5-21-2470146451-39123456388-2999995117-23338978)S:(AU;FA;KA;;;WD)(AU;OIIOFA;GA;;;WD)

Bây giờ, hãy thay đổi các tham số của bộ mô tả bảo mật Trình quản lý kiểm soát dịch vụ:

sc sdset scmanager “D:(A;;CC;;;AU)(A;;CCLCRPRC;;;IU)(A;;CCLCRPRC;;;SU)(A;;CCLCRPWPRC;;;SY)(A;;KA;;;BA)(A;;CC;;;AC)(A;;CCLCRPRC;;;S-1-5-21-2470146451-39123456388-2999995117-23338978)S:(AU;FA;KA;;;WD)(AU;OIIOFA;GA;;;WD)“

Cấp quyền truy cập từ xa trên SCManager cho người dùng không phải quản trị viên

Chuỗi [SC] SetServiceObjectSecurity THÀNH CÔNG cho biết rằng các thông số bảo mật mới đã được áp dụng thành công và người dùng có các đặc quyền tương tự như của người dùng được xác thực cục bộ:SC_MANAGER_CONNECT, SC_MANAGER_ENUMERATE_SERVICE, SC_MANAGER_QUERY_LOCK_STATUS và STANDARD_RIGHTS_READ.

Đảm bảo rằng người dùng từ xa có thể nhận được danh sách các dịch vụ và trạng thái của chúng từ bảng điều khiển services.msc bằng cách sử dụng truy vấn sc \\ srv-name1

Cấp quyền truy cập từ xa trên SCManager cho người dùng không phải quản trị viên

Đương nhiên, bạn không có bất kỳ đặc quyền nào để quản lý các dịch vụ, vì quyền truy cập vào mỗi dịch vụ được kiểm soát bởi một ACL riêng lẻ. Để cấp đặc quyền khởi động / dừng dịch vụ máy chủ cho người dùng, hãy làm theo hướng dẫn trong bài viết Cách cấp quyền quản lý (Bắt đầu, Dừng hoặc Khởi động lại) Dịch vụ Windows cho Người dùng.

Mẹo . Nếu bạn chỉ định bất kỳ quyền nào của SCManager khác với các quyền thông thường, chúng sẽ được lưu trong HKLM \ SYSTEM \ CurrentControlSet \ Control \ ServiceGroupOrder \ Security chi nhánh của cơ quan đăng ký. Nếu bạn mắc lỗi khi chuẩn bị chuỗi SDDL, bạn có thể xóa nhánh này và khởi động lại máy tính của mình để đặt lại các quyền hiện tại về các quyền mặc định. Cấp quyền truy cập từ xa trên SCManager cho người dùng không phải quản trị viên