Hướng Dẫn Quản Lý User Và Phân Quyền File (Chmod/Chown) Trên Linux
Một trong những nguyên tắc bảo mật quan trọng nhất khi quản trị VPS chính là không nên sử dụng tài khoản quản trị cấp cao nhất cho mọi thao tác hàng ngày, đồng thời phải kiểm soát chặt chẽ ai được phép đọc, ghi hay thực thi từng file trên hệ thống. Bài viết này sẽ hướng dẫn bạn từ khái niệm phân quyền cơ bản, cách tạo User mới an toàn, cho đến cách sử dụng thành thạo hai lệnh quan trọng bậc nhất: chmod và chown.
Cấu trúc phân quyền trên Linux (Read, Write, Execute)
Trên Linux, mỗi file hoặc thư mục đều mang theo 3 nhóm quyền riêng biệt: quyền của chủ sở hữu (Owner), quyền của nhóm (Group) và quyền của những người dùng khác (Others). Mỗi nhóm quyền lại bao gồm 3 loại quyền cơ bản: Read (đọc – r), Write (ghi – w) và Execute (thực thi – x).
Ví dụ, với chuỗi quyền "-rwxr-xr--", ta có thể phân tách và quy đổi sang số như bảng dưới đây:

Thay vì gõ chữ cái, Linux còn cho phép biểu diễn quyền hạn dưới dạng số bằng cách cộng dồn giá trị: Read = 4, Write = 2, Execute = 1. Ví dụ, quyền "rwx" (đọc + ghi + thực thi) tương ứng với 4+2+1 = 7, còn quyền "r-x" (chỉ đọc và thực thi) tương ứng với 4+0+1 = 5. Đây chính là cách các con số như 755, 644 mà bạn thường thấy được hình thành.
Hướng dẫn tạo User mới và cấp quyền Sudo
Việc sử dụng tài khoản root cho mọi thao tác hàng ngày tiềm ẩn rủi ro rất lớn, vì chỉ cần một lệnh gõ nhầm cũng có thể gây ảnh hưởng đến toàn bộ hệ thống. Vì vậy, ngay sau khi nhận VPS, bạn nên tạo thêm một User thường và cấp quyền Sudo (quyền thực thi lệnh quản trị khi cần) thay vì luôn đăng nhập bằng tài khoản quản trị cấp cao nhất.
Bạn chỉ cần thực hiện tuần tự 5 bước sau để tạo một User mới và cấp quyền Sudo an toàn:
- Bước 1 – Tạo User mới: adduser tenuser
- Bước 2 – Đặt mật khẩu: hệ thống sẽ tự động hỏi ngay khi chạy lệnh adduser
- Bước 3 – Thêm vào nhóm sudo: usermod -aG sudo tenuser
- Bước 4 – Chuyển sang User mới: su - tenuser
- Bước 5 – Kiểm tra quyền sudo: sudo whoami (kết quả trả về "root" là thành công)
adduser tenuser usermod -aG sudo tenuser su - tenuser sudo whoami
Nếu lệnh cuối cùng trả về kết quả "root", nghĩa là User mới của bạn đã được cấp quyền Sudo thành công và có thể thực thi các lệnh quản trị khi cần bằng cách thêm tiền tố "sudo" phía trước.
Cách sử dụng lệnh chmod để phân quyền truy cập File/Folder
Lệnh chmod (change mode) dùng để thay đổi quyền truy cập của file hoặc thư mục, theo cú pháp cơ bản:
chmod [giá trị số] [tên file/thư mục]
Dưới đây là một số giá trị chmod phổ biến nhất mà bạn sẽ thường xuyên sử dụng khi quản trị VPS:

Nếu muốn áp dụng quyền cho toàn bộ file bên trong một thư mục (bao gồm cả thư mục con), bạn có thể thêm tham số -R (recursive) vào lệnh:
chmod -R 755 /var/www/mysite
Cách sử dụng lệnh chown để đổi chủ sở hữu File/Folder
Trong khi chmod kiểm soát "quyền được làm gì", lệnh chown (change owner) lại kiểm soát "ai là người sở hữu" file hoặc thư mục đó. Đây là lệnh cực kỳ quan trọng khi bạn cần chuyển giao quyền quản lý file giữa các User khác nhau, ví dụ khi cấu hình web server cần chạy dưới quyền User riêng thay vì root.
Cú pháp cơ bản của chown như sau:
chown [user]:[group] [tên file/thư mục]
Ví dụ, để chuyển toàn bộ quyền sở hữu thư mục website sang cho user "www-data" (user mặc định mà Nginx/Apache thường sử dụng), bạn dùng lệnh:
chown -R www-data:www-data /var/www/mysite
Tương tự chmod, tham số -R giúp áp dụng thay đổi cho toàn bộ file và thư mục con bên trong, tránh phải chạy lệnh nhiều lần cho từng file riêng lẻ.
Các nguyên tắc bảo mật phân quyền quan trọng trên VPS
Phân quyền không chỉ là kỹ thuật, mà còn là một trong những lớp phòng thủ quan trọng nhất giúp bảo vệ VPS khỏi các rủi ro bảo mật. Hãy ghi nhớ một số nguyên tắc sau trong quá trình vận hành:
- Luôn tạo User riêng để làm việc hàng ngày, chỉ dùng quyền Sudo khi thực sự cần thiết thay vì đăng nhập trực tiếp bằng root.
- Tuyệt đối tránh sử dụng chmod 777 trên môi trường thực tế (production), vì điều này cho phép bất kỳ ai cũng có thể ghi và thực thi file, tạo lỗ hổng nghiêm trọng.
- Với các file nhạy cảm như khóa SSH, file chứa mật khẩu hay biến môi trường (.env), nên giới hạn quyền chặt chẽ ở mức 600 – chỉ Owner mới được đọc/ghi.
- Định kỳ kiểm tra lại quyền sở hữu (chown) của các thư mục quan trọng, đảm bảo không có file nào bị gán nhầm quyền sở hữu cho user lạ.
- Khi cấp quyền cho thư mục website, nên gán đúng owner là user chạy dịch vụ web (thường là www-data) thay vì để mặc định là root.
⚠ Lưu ý: Việc phân quyền quá lỏng lẻo là một trong những nguyên nhân phổ biến nhất khiến VPS bị tấn công hoặc chiếm quyền điều khiển. Hãy luôn áp dụng nguyên tắc "cấp quyền tối thiểu cần thiết" (principle of least privilege) khi cấu hình hệ thống.
Nắm vững cách quản lý User và phân quyền chmod/chown không chỉ giúp VPS của bạn hoạt động đúng như mong muốn, mà còn là bước nền tảng quan trọng để xây dựng một hệ thống an toàn, sẵn sàng cho các bước cấu hình nâng cao hơn ở những bài viết tiếp theo trong series.
