1. CHMOD là gì?
CHMOD là viết tắt của "Change Mode" – một tính năng cho phép bạn phân quyền truy cập cho các thư mục và tập tin trên hệ điều hành Linux. Vì phần lớn các dịch vụ hosting sử dụng nền tảng Linux, nên bạn sẽ gặp khái niệm này khá thường xuyên.
CHMOD cho phép bạn kiểm soát quyền truy cập vào các tập tin và thư mục, có thể đặt chúng ở chế độ “chỉ đọc” hoặc cho phép toàn quyền truy cập. Nghe có vẻ phức tạp, nhưng hãy yên tâm, mình sẽ giải thích chi tiết hơn bên dưới.
2. Cách CHMOD trên Shared Host
Để thay đổi quyền truy cập (CHMOD) cho các tập tin và thư mục, bạn có thể sử dụng File Manager trong cPanel hoặc FTP thông qua phần mềm như FileZilla.
Trong File Manager, bạn sẽ thấy một cột hiển thị giá trị CHMOD cho mỗi tập tin và thư mục như hình dưới đây.
Để thay đổi giá trị CHMOD, bạn chỉ cần click chuột phải vào tập tin hoặc thư mục cần thay đổi và chọn “Change Permission”.
Đối với FTP, quá trình này còn đơn giản hơn, bạn chỉ cần click chuột phải vào tập tin/thư mục cần CHMOD, sau đó chọn “File Permissions” hoặc “CHMOD” tùy thuộc vào phần mềm bạn đang sử dụng.
Vậy các giá trị CHMOD có ý nghĩa gì? Mình sẽ giải thích tiếp theo để bạn có thể chọn phân quyền phù hợp.
3. Ý nghĩa của Tham số CHMOD
Tham số CHMOD được biểu diễn dưới dạng số, mỗi con số đại diện cho một tập hợp quyền hạn cụ thể.
Có ba quyền cơ bản trên mỗi tập tin/thư mục tương ứng với các số như sau:
Quyền đọc (Read - r) - 4
Quyền ghi (Write - w) - 2
Quyền truy cập (Execute - x) - 1 (chỉ áp dụng cho thư mục)
4. CHMOD cho Thư mục
Khi bạn nhìn vào các thư mục, bạn sẽ thấy số 7 đầu tiên. Điều này có nghĩa là user chủ sở hữu (tài khoản truy cập vào host) có toàn quyền, bao gồm quyền đọc, ghi và truy cập (4+2+1 = 7).
Số 755 nghĩa là gì? Đây là cách phân quyền theo thứ tự:
[User sở hữu][Nhóm user sở hữu][Các user khác trên server]
Số 755 cụ thể có nghĩa là:
User sở hữu: có quyền đọc, ghi, và thực thi thư mục này (4+2+1=7).
Nhóm user sở hữu: có quyền đọc và truy cập (4+0+1=5).
Các user còn lại trên host: có quyền đọc và truy cập (4+0+1=5).
Số 0 nghĩa là quyền đó không được cấp phép. Việc CHMOD thư mục thành 755 giúp bảo vệ quyền tạo và quản lý tập tin trong thư mục đó chỉ thuộc về user sở hữu. Bạn cũng có thể "bóp" quyền của các user khác bằng cách đặt số 0 thay vì 5 để tăng cường bảo mật.
Nếu website báo lỗi 500 sau khi CHMOD, điều đó có thể là do user sở hữu không có quyền đọc tập tin PHP.
5. CHMOD cho Tập tin
CHMOD cho các tập tin cũng tương tự như với thư mục, nhưng khác biệt là quyền cao nhất chỉ là 6 (đọc và ghi) chứ không có quyền thực thi.
Đối với các tập tin PHP, bạn nên đặt quyền cho user sở hữu là 6 để cho phép thực thi mã PHP và có thể sửa/xóa các tập tin khi cần thiết.
CHMOD chuẩn cho các tập tin PHP trên host là 644 hoặc 640.
Lời Kết
Do tính phức tạp của Shared Host, không dễ để giải thích chi tiết toàn bộ khái niệm CHMOD trong một bài viết. Tuy nhiên, bạn chỉ cần nhớ rằng khi CHMOD, user sở hữu phải có quyền cao nhất, còn các user khác nên có quyền thấp hơn để đảm bảo an toàn.