Siêu người dùng

Trong tin học, siêu người dùng () là một tài khoản người dùng đặc biệt được sử dụng để quản lý hệ thống. Tùy vào hệ điều hành mà tài khoản này còn được gọi là root, quản trị viên, admin hay supervisor. Trong một số trường hợp, tên của tài khoản không phải là yếu tố quyết định; trong các hệ điều hành giống Unix, tài khoản với mã định danh người dùng (UID) 0 là siêu người dùng, bất kể tên tài khoản; và trong những hệ thống theo mô hình bảo mật bằng vai trò, bất kỳ người dùng nào có vai trò của siêu người dùng có thể thực hiện tất cả tác vụ của tài khoản siêu người dùng.

Nguyên tắc đặc quyền thấp nhất khuyến khích phần lớn người dùng và ứng dụng chạy trong tài khoản bình thường để thực hiện tác vụ, bởi tài khoản siêu người dùng có khả năng thực hiện những thay đổi không giới hạn, tác động xấu đến toàn hệ thống.

Unix và Unix-like
Trong những hệ điều hành máy tính giống Unix (như là Linux), root là tên gọi thông thường của người dùng với tất cả quyền hạn (với tất cả file và chương trình) trong mọi mode (một hoặc nhiều người dùng). Những tên gọi khác bao gồm baron trong BeOS và avatar trong một số biến thể Unix. BSD thường cung cấp một tài khoản toor ("root" viết ngược) ngoài tài khoản root. Bất kể tên gọi, siêu người dùng luôn có ID người dùng bằng 0. Người dùng root có thể làm nhiều thứ mà người dùng bình thường không thể, ví dụ như thay đổi quyền sở hữu của file và theo dõi các cổng thấp hơn 1024.

Cái tên root có thể xuất phát từ việc root là tài khoản duy nhất có quyền chỉnh sửa thư mục gốc hay root directory của một hệ thống Unix. Thư mục này ban đầu được coi là thư mục nhà của tài khoản root, nhưng Tiêu chuẩn phân cấp hệ thống tệp của UNIX khuyến cáo nhà của root tại /root.' Quá trình đầu tiên tự khởi động trong một hệ thống giống Unix, thường được gọi là init, chạy với quyền của root. Quá trình này khởi động tất cả những quá trình khác trực tiếp hoặc gián tiếp, và các quá trình con thừa hưởng đặc quyền của quá trình mẹ. Chỉ có quá trình chạy dưới tài khoản root được quyền thay đổi ID người dùng của nó sang mã của người dùng khác, và khi đã thực hiện điều đó, không thể quay trở lại làm root. Việc này đôi khi được gọi là bỏ đặc quyền root và thường được dùng làm biện pháp bảo mật để giới hạn tác động từ quá trình đó trong trường hợp bị tấn công. Một trường hợp khác là đăng nhập, các chương trình hỏi người dùng thông tin chứng thực và nếu xác thực thành công sẽ cho phép người dùng chạy chương trình với đặc quyền của tài khoản của họ.

Người dùng thường được khuyên không sử dụng root làm tài khoản thông thường, bởi ngay cả lỗi chính tả trong việc nhập dòng lệnh có thể gây thiệt hại lớn đến hệ thống. Việc sử dụng tài khoản thông thường, và dùng su hoặc sudo khi cần thiết sẽ giúp giảm thiểu việc này. Sử dụng su yêu cầu người dùng biết mật khẩu root, trong khi sudo yêu cầu người dùng được cài đặt với khả năng chạy với vai trò là root trong file /etc/sudoers, thường là gián tiếp thông qua việc trở thành thành viên của nhóm người dùng wheel, adm, admin, hay sudo.

Vì nhiều lý do, sử dụng sudo là phương thức được khuyến cáo hiện nay – ví dụ nó để lại một biên bản kiểm tra (audit trail) của những người đã dùng dòng lệnh và tác vụ quản trị họ đã thực hiện.

Một số hệ điều hành, bao gồm macOS và một số bản phân phối Linux như Ubuntu), tự động cho người dùng được tạo đầu tiên khả năng chạy như root bằng sudo – nhưng được cài đặt để hỏi họ mật khẩu trước khi thực hiện tác vụ đó. Trong một số trường hợp, tài khoản root bị vô hiệu hóa theo mặc định và không thể được dùng trực tiếp.

Microsoft Windows
Trong Windows NT và những hệ thống sau này dựa vào nó như Windows 2000, Windows XP, Windows Server 2003, và Windows Vista/7/8/10), có ít nhất một tài khoản quản trị viên (Windows XP về trước) hoặc một tài khoản có thể nâng đặc quyền của mình lên siêu người dùng (Windows Vista/7/8/10 thông qua User Account Control). Trong Windows XP và những hệ điều hành trước đó, có một tài khoản quản trị viên có sẵn được giấu đi khi người dùng có một tài khoản tương đương với quản trị viên. Tài khoản quản trị viên có sẵn này được tạo với mật khẩu để trống.

Xem thêm
passwd
Người dùng chuyên năng
Nguyên tắc đặc quyền thấp nhất
Root (Android)
Rootkit
Leo thang đặc quyền
sudo
Jailbreak iOS

Tham khảo

Liên kết ngoài

Định nghĩa root - bởi Dự án Thông tin Linux (LINFO)
Giới thiệu về Bảo mật Mac OS X