Root và Sudo trong Linux – Quyền lực và Quản trị an toàn
Trong hệ điều hành Linux, root (hay còn gọi là superuser) là tài khoản có toàn quyền điều khiển hệ thống. Người dùng root có thể đọc, ghi, và xóa bất kỳ tệp nào, thay đổi mọi cấu hình, và khởi chạy hay dừng bất kỳ dịch vụ nào. Chính vì sức mạnh này, nếu sử dụng sai hoặc bị xâm nhập, tài khoản root có thể dẫn đến mất toàn bộ quyền kiểm soát máy chủ và gây thiệt hại nghiêm trọng. Vì sao hạn chế sử dụng trực tiếp root?
Trong môi trường bảo mật hiện đại, việc đăng nhập trực tiếp vào root bị xem là rủi ro cao:
Do đó, nhiều bản phân phối Linux hiện nay:
sudo (superuser do) là công cụ cho phép người dùng thông thường chạy lệnh với quyền root nhưng theo cơ chế kiểm soát:
Ví dụ, để chỉnh sửa tệp /etc/hosts (chỉ root mới có quyền ghi):
sudo vi /etc/hosts
Nếu chạy vi /etc/hosts mà không có sudo, bạn sẽ nhận được lỗi Permission denied. Cơ chế xác thực và thời gian chờ
Câu hỏi ôn tập
Trong hệ điều hành Linux, root (hay còn gọi là superuser) là tài khoản có toàn quyền điều khiển hệ thống. Người dùng root có thể đọc, ghi, và xóa bất kỳ tệp nào, thay đổi mọi cấu hình, và khởi chạy hay dừng bất kỳ dịch vụ nào. Chính vì sức mạnh này, nếu sử dụng sai hoặc bị xâm nhập, tài khoản root có thể dẫn đến mất toàn bộ quyền kiểm soát máy chủ và gây thiệt hại nghiêm trọng. Vì sao hạn chế sử dụng trực tiếp root?
Trong môi trường bảo mật hiện đại, việc đăng nhập trực tiếp vào root bị xem là rủi ro cao:
- Khó theo dõi được ai đã thực hiện lệnh (vì tất cả đều dùng chung root).
- Dễ dẫn đến lỗi nghiêm trọng do không có cơ chế xác nhận.
- Nếu bị kẻ tấn công chiếm quyền root, mọi lớp bảo vệ gần như mất hiệu lực.
Do đó, nhiều bản phân phối Linux hiện nay:
- Vô hiệu hóa hoặc hạn chế đăng nhập trực tiếp root.
- Khuyến nghị dùng sudo để thực hiện các tác vụ yêu cầu quyền quản trị.
sudo (superuser do) là công cụ cho phép người dùng thông thường chạy lệnh với quyền root nhưng theo cơ chế kiểm soát:
- Có thể phân quyền chỉ cho phép chạy một số lệnh nhất định.
- Có khả năng ghi log chi tiết về lệnh, thời gian, và người thực thi.
- Giúp tạo dấu vết kiểm toán (audit trail) rõ ràng – yếu tố quan trọng trong bảo mật.
Ví dụ, để chỉnh sửa tệp /etc/hosts (chỉ root mới có quyền ghi):
sudo vi /etc/hosts
Nếu chạy vi /etc/hosts mà không có sudo, bạn sẽ nhận được lỗi Permission denied. Cơ chế xác thực và thời gian chờ
- Khi chạy lệnh sudo, hệ thống yêu cầu bạn nhập mật khẩu người dùng hiện tại (không phải mật khẩu root).
- Sau khi xác thực thành công, mặc định bạn có một phiên sudo kéo dài 5 phút.
Nếu không chạy thêm lệnh sudo nào trong khoảng thời gian này, bạn sẽ phải nhập lại mật khẩu.
- Luôn dùng sudo thay vì đăng nhập trực tiếp root.
- Giới hạn lệnh mà người dùng có thể chạy với sudo.
- Bật ghi log trong /etc/sudoers để theo dõi hoạt động quản trị.
- Đào tạo kỹ cho admin mới về rủi ro khi dùng quyền cao.
Câu hỏi ôn tập
- Khi bạn thực thi sudo, phiên xác thực mặc định kéo dài bao lâu nếu không có hoạt động?
→ 5 phút - Theo mặc định, người dùng root có mức quyền nào?
→ Quyền siêu người dùng (superuser privileges)