Những độc giả quen thuộc của Quản Trị Mạng có lẽ cũng không còn lạ gì việc mở phần mềm bằng quyền quản trị, một việc mà có lẽ bạn vẫn làm hàng ngày. Nhưng hãy cùng tìm hiểu kĩ hơn tại sao phải làm vậy và khi bạn yêu cầu OS chạy phần mềm bằng quyền quản trị thì điều gì xảy ra với Windows?
Còn nhờ khi chuyển từ Windows XP sang Vista, bạn được giới thiệu về User Account Control (UAC) và Mandatory Intgrity Control (MIC). Tính năng bảo mật nằm trong OS này sẽ mở ra thông báo khi có phần mềm có thay đổi hệ thống và cũng là điểm mấu chốt khi phần mềm cần nâng quyền truy cập.
Thông báo trao quyền thay đổi hệ thống cho phần mềm
Khi đăng nhập Windows, tài khoản sẽ được trao cho mã có chứa thông tin xác định gồm nhóm người dùng và các quyền ưu tiên như đọc, viết, thực thi. Trong các thông tin đó có mức toàn vẹn (integrity level) được OS dùng để xác định tập tin, khóa registry có an toàn hay không và thông báo cho người dùng khi cài đặt hoặc tách quy trình khỏi việc truy cập không cần thiết vào tập tin hệ thống.
User Account Control
Cơ chế Windows Mandatory Integrity Control (MIC) có ít nhất 6 mức toàn vẹn: không đáng tin, thấp, trung bình, cao, hệ thống và đáng tin.
Mặc định, người dùng bình thường sẽ có mức trung bình, cũng là mức cao nhất có thể để tạo quy trình khi mở tập tin thực thi mà không cần nâng cấp quyền bằng mật khẩu của người quản trị.
Khi click chuột phải và chọn “Run as administrator”, quy trình này sẽ bắt đầu bằng quyền quản trị, mang đến quyền cao hơn cho các tính năng có thể cần truy cập sâu hơn vào các tập tin trong Windows.
Các mức toàn vẹn trong Windows:
- Không đáng tin: các quy trình nặc danh.
- Thấp: thường dùng cho các phần mềm web như trình duyệt.
- Trung bình: dùng cho người dùng bình thường, hầu hết các đối tượng.
- Cao: quyền truy cập ở mức độ quản trị, thường cần phải nâng cấp.
- Hệ thống: dành cho các dịch vụ lõi và nhân Windows.
- Đáng tin: dùng cho các thành phần hệ thống, Windows Updates.
Quy trình bắt đầu khi mở tập tin EXE bằng tài khoản Windows có mức trung bình sẽ có mức toàn vẹn đó, trừ khi tập tin thực thi được đặt ở mức thấp hơn hay nhà phát triển khuyến khích mức độ truy cập thấp, tránh các bản cài cần mức độ cao để ngăn các đoạn mã chưa được xác thực (malware) chiếm quyền root.
Các quy trình chạy trên máy tính
Quyền tối thiểu được áp dụng với các tài khoản quản trị của Windows, sẽ có cả quyền ở mức chuẩn hoặc mức quản trị sau khi đăng nhập, dùng quyền truy cập chuẩn/trung bình khi có thể, thay vì phải dùng mức độ cao hơn.
Dù Microsoft khuyến nghị không nên chạy phần mềm bằng quyền quản trị và cho chúng quyền truy cập cao mà không có lý do hợp lý nhưng phải có dữ liệu mới thêm vào Program Files thì mới có thể cài đặt phần mềm mới, tức là luôn phải bật UAC, trong khi phần mềm như AutoHotkey thường cần phải được nâng cấp mới hoạt động được bình thường.
Nếu bạn chưa biết cách mở phần mềm bằng quyền quản trị, hãy tham khảo bài viết 4 cách để chạy phần mềm bằng quyền quản trị trong Windows. Dù triết lý của Microsoft là hạn chế nhiều quyền nhất có thể, tức là việc thiết lập để phần mềm luôn chạy bằng quyền quản trị là không được khuyến khích. Nhưng đôi khi việc này cũng có ích khi phần mềm luôn cần có quyền, và bạn không muốn mỗi lần dùng lại mở ra.
- Làm thế nào để khởi chạy ứng dụng quyền Admin cho tài khoản User trong Windows?
- Kích hoạt Standard User để chạy chương trình dưới quyền Admin không cần mật khẩu
Cách ép phần mềm luôn chạy bằng quyền quản trị
Luôn chạy bằng quyền quản trị qua shortcut: Click chuột phải vào shortcut > chọn tab Shortcut > Advanced > Chọn hộp thoại Run as administrator.
Bạn có thể tạo shortcut bằng cách click chuột phải vào tập tin EXE, nếu sao chép shortcut vào C:\Users\TechSpot\AppData\Roaming\Microsoft\Windows\Start Menu\Programs\Startup, phần mềm sẽ tự động mở cùng Windows khi bạn đăng nhập.
Luôn chạy bằng quyền quản trị qua Compatibility Properties: click chuột phải vào EXE > Properties > chọn tab Compatibility > chọn hộp thoại Run this program as an administrator.
Luôn chạy bằng quyền quản trị qua Registry Editor:
- Đi tới HKEY_CURRENT_USER\Software\Microsoft\Windows NT\CurrentVersion\AppCompatFlags\Layers
- Nếu không có Layers, click chuột phải vào AppCompatFlags và thêm khóa mới có tên Layers.
- Click chuột phải vào Layers (trong thư mục hoặc bảng điều khiển) và tạo String Value.
- Đặt tên giá trị theo đường dẫn đầy đủ của tập tin EXE.
- Đặt dữ liệu giá trị là ~RUNASADMIN.
Luôn chạy bằng quyền quản trị qua Registry Editor
Một vài thủ thuật khác
Phần mềm của bên thứ 3 như MicEnum sẽ tạo danh sách tập tin/thư mục Windows và mức toàn vẹn của chúng, gồm cả khả năng thiết lập mức toàn vẹn mới, duyệt dưới dạng thư mục và registry.
Process Explorer cũng có thể hiển thị mức toàn vẹn khi click chuột phải vào thành ngang có CPU, Private Bytes… và mở Properties.
Khi cài bản Windows mới, người dùng đầu tiên sẽ có tài khoản quản trị, sau đó sẽ chỉ ở mức tiêu chuẩn. Mặc định, tài khoản quản trị có sẵn sẽ bị vô hiệu hóa. Bạn có thể bật lại để mở ra tài khoản này ngay khi đăng nhập Windows bằng cách nhập dòng dưới đây vào Command Prompt (dùng “no” để vô hiệu hóa như cũ) net user administrator /active:yes.
Microsoft cũng có các tiện ích như Elevation PowerToys hay PsExec để lấy quyền quản trị.
Xem thêm: