Phân quyền file thư mục bằng chmod và chown
Hướng dẫn Linux Server · cập nhật 27/08/2026
Để phân quyền file trên Linux, bạn dùng chmod đổi quyền đọc ghi thực thi và chown đổi chủ sở hữu. Ví dụ chmod 644 file.php cho chủ được sửa, người khác chỉ đọc. Hiểu và làm được mất khoảng 10 phút.
Phân quyền sai là nguyên nhân phổ biến khiến website báo lỗi 403 hoặc không ghi được file. Nắm được chmod và chown giúp bạn tự xử lý mà không phải đoán mò.
- Đọc dãy quyền rwx khi chạy
ls -l. - Đổi quyền bằng
chmodtheo số. - Đổi chủ sở hữu bằng
chown. - Kiểm lại quyền sau khi đổi.
Đọc dãy quyền rwx nghĩa là gì
Chạy ls -l mỗi file hiện một dãy như -rw-r--r--. Ký tự đầu cho biết là file hay thư mục. Chín ký tự sau chia ba nhóm ba: quyền của chủ sở hữu, của nhóm, và của mọi người còn lại. Chữ r là đọc, w là ghi, x là thực thi, dấu gạch là không có quyền đó.
| Ký tự | Nghĩa | Với file | Với thư mục |
|---|---|---|---|
r | Đọc | Xem nội dung | Liệt kê file bên trong |
w | Ghi | Sửa nội dung | Tạo, xoá file bên trong |
x | Thực thi | Chạy như chương trình | Đi vào bằng cd |
Vì sao mỗi quyền quy về một con số
Linux gán mỗi quyền một giá trị: đọc là 4, ghi là 2, thực thi là 1. Cộng lại thành số cho mỗi nhóm. Chủ được đọc ghi là 4 cộng 2 bằng 6. Người khác chỉ đọc là 4. Vì vậy chmod 644 nghĩa là chủ 6, nhóm 4, mọi người 4. Ba con số luôn theo thứ tự chủ, nhóm, mọi người.
| Số | Quyền | Dùng cho |
|---|---|---|
644 | Chủ đọc ghi, còn lại đọc | File thường, file cấu hình |
755 | Chủ toàn quyền, còn lại đọc và vào | Thư mục, file chạy được |
600 | Chỉ chủ đọc ghi | File nhạy cảm như khoá riêng |
777 | Ai cũng toàn quyền | Gần như không bao giờ nên dùng |
Cách đổi quyền file bằng chmod
Bốn bước dưới đây đổi quyền một file cụ thể. Bạn xem quyền hiện tại, chạy chmod với con số mong muốn, rồi xem lại để chắc đã đúng. Cú pháp là chmod theo sau là số quyền và tên file.
1. Xem quyền hiện tại
Chạy ls -l ten-file để thấy dãy quyền đang có. Ghi nhớ dãy này để so sánh sau khi đổi.
ls -l config.php
2. Đổi quyền cho một file
Chạy chmod với con số mong muốn. Ví dụ cho file cấu hình PHP quyền 644.
chmod 644 config.php
3. Đổi quyền cho cả thư mục
Thêm -R để áp cho mọi file bên trong thư mục. Thư mục thường dùng 755, file bên trong 644.
chmod -R 755 /var/www/mysite
Chạy chmod -R áp quyền cho toàn bộ file con, không hoàn tác được bằng một lệnh. Gõ đúng đường dẫn thư mục trước khi bấm Enter. Nhầm sang thư mục hệ thống có thể làm máy chủ không khởi động lại được.
Cách đổi chủ sở hữu bằng chown
Mỗi file thuộc về một người dùng và một nhóm. Lệnh chown đổi cả hai. Cú pháp là chown nguoi:nhom ten-file. Trên máy chủ web, file website thường phải thuộc về người dùng chạy web server, ví dụ www-data trên Ubuntu, để web ghi được file.
chown www-data:www-data /var/www/mysite/upload
Thêm -R để đổi chủ cho cả cây thư mục. Đây là cách sửa nhanh khi website báo không ghi được file upload dù quyền chmod đã đúng.
Vì sao không nên đặt chmod 777
Nhiều hướng dẫn trên mạng khuyên chạy chmod 777 để hết lỗi phân quyền. Đừng làm theo. Quyền 777 cho phép bất kỳ ai trên máy chủ đọc, sửa và xoá file của bạn. Trên hosting dùng chung, đó là lỗ hổng để mã độc ghi đè file website. Đa số trường hợp chỉ cần 644 cho file và 755 cho thư mục.
Nếu website chỉ chạy khi đặt 777, gốc vấn đề là sai chủ sở hữu, không phải thiếu quyền. Dùng chown gán đúng người dùng web server thay vì mở toang quyền cho mọi người.
Kiểm tra lại và xử lý lỗi hay gặp
Sau khi đổi, chạy lại ls -l để xác nhận dãy quyền và chủ sở hữu đã đúng. Lỗi hay gặp là website vẫn báo 403 dù chmod đúng, thường do thư mục cha thiếu quyền x nên web server không đi vào được. Kiểm tra quyền của từng thư mục trên đường dẫn, không chỉ file cuối.
Nếu bạn dùng bảng điều khiển như DirectAdmin, có công cụ sửa quyền riêng qua giao diện. Còn trên VPS thuần, chmod và chown là cách trực tiếp và nhanh nhất khi đã quen tay.
Bài khác trong Linux Server
Xem cả 22 bàiLàm theo vẫn chưa được?
Gửi yêu cầu hỗ trợ, kỹ thuật xem trực tiếp trên dịch vụ của Anh/Chị.