Tutorial 2x Cấu hình phân quyền file (CHMOD) an toàn cho XenForo 2.3

PVS

Super Moderator
Thành viên BQT
Cấu hình phân quyền file (CHMOD) an toàn cho XenForo 2.3

Hãy tưởng tượng diễn đàn của bạn là một ngôi nhà. Phân quyền file (File Permissions) chính là các ổ khóa và chìa khóa cho từng cánh cửa. Nếu bạn đặt sai quyền, bạn có thể vô tình "vứt chìa khóa ra đường", cho phép kẻ xấu tự do đi vào, thay đổi nội dung, cài đặt mã độc, hoặc truy cập các thông tin nhạy cảm.

cau-hinh-phan-quyen-file-an-toan-xenforo.png

Ngược lại, việc thiết lập quyền file một cách chính xác sẽ tạo ra một hàng rào bảo vệ vững chắc. Bài viết này sẽ giải thích ý nghĩa của các con số phân quyền (CHMOD) và cung cấp một cấu hình "chuẩn" và an toàn cho một website XenForo.

Cảnh báo: Kỹ thuật nâng cao! nói:
Việc thay đổi sai quyền file có thể làm cho diễn đàn của bạn ngừng hoạt động hoàn toàn hoặc tạo ra lỗ hổng bảo mật. Hãy thực hiện một cách cẩn trọng. Nếu bạn không chắc chắn, hãy liên hệ với nhà cung cấp hosting để được hỗ trợ.

Hiểu về các con số: CHMOD 755 và 644 nghĩa là gì?​


Khi nói về phân quyền, bạn sẽ luôn gặp các con số như 755, 644. Chúng đại diện cho 3 nhóm quyền hạn: Chủ sở hữu (Owner), Nhóm (Group), và Tất cả mọi người (Public). Mỗi con số là tổng của các quyền:
  • 4 = Read (Đọc)
  • 2 = Write (Ghi/Sửa)
  • 1 = Execute (Thực thi)
Dựa vào đó, chúng ta có hai quy tắc vàng:
  • 755 cho Thư mục (Directories):
    • 7 (4+2+1): Chủ sở hữu có toàn quyền.
    • 5 (4+1): Nhóm và Mọi người chỉ có quyền Đọc và Thực thi (truy cập vào thư mục).
  • 644 cho File:
    • 6 (4+2): Chủ sở hữu có quyền Đọc và Ghi.
    • 4 (4): Nhóm và Mọi người chỉ có quyền Đọc.

Cấu hình phân quyền chuẩn cho XenForo​


Quy tắc chung rất đơn giản, nhưng có một vài ngoại lệ quan trọng.

Quy tắc chung:
  • Tất cả các thư mục nên được đặt quyền là 755.
  • Tất cả các file nên được đặt quyền là 644.
Ngoại lệ quan trọng:
XenForo cần có khả năng tự ghi dữ liệu vào hai thư mục đặc biệt để hoạt động. Đó là:
  • Thư mục data
  • Thư mục internal_data
Các thư mục này và tất cả các thư mục con bên trong chúng cần phải có quyền ghi cho user của web server. Trên một máy chủ được cấu hình tốt, quyền 755 vẫn là đủ. Tuy nhiên, trên một số môi trường hosting, bạn có thể cần đến quyền 775.

TUYỆT ĐỐI KHÔNG DÙNG QUYỀN 777!
Quyền 777 cho phép bất kỳ ai cũng có thể ghi và thực thi file, đây là một lỗ hổng bảo mật cực kỳ nghiêm trọng.

Hướng dẫn thực hiện bằng FTP Client (FileZilla)​


Đây là cách phổ biến nhất cho người dùng shared hosting.
  1. Kết nối đến máy chủ của bạn bằng FileZilla.
  2. Đặt quyền hàng loạt:
    • Chọn tất cả các file và thư mục trong thư mục gốc của XenForo.
    • Nhấn chuột phải, chọn File permissions....
    • Nhập giá trị là 755. Tick vào ô Recurse into subdirectories.
    • Chọn tùy chọn Apply to directories only. Nhấn OK.
    • Lặp lại thao tác, nhưng lần này nhập giá trị 644 và chọn Apply to files only.
  3. Đặt quyền cho các thư mục đặc biệt:
    • Tìm đến thư mục data. Nhấn chuột phải, chọn File permissions....
    • Nhập 755, tick vào Recurse into subdirectories, sau đó chọn Apply to all files and directories. Nhấn OK.
    • Làm tương tự cho thư mục internal_data.

Hướng dẫn thực hiện bằng dòng lệnh (SSH)​


Nếu bạn có quyền truy cập SSH, các lệnh sau sẽ nhanh hơn rất nhiều.
  1. Di chuyển đến thư mục gốc của XenForo.
  2. Chạy hai lệnh sau để đặt quyền mặc định:
    Bash:
    find . -type d -exec chmod 0755 {} \;
    find . -type f -exec chmod 0644 {} \;
  3. Chạy hai lệnh sau để đảm bảo các thư mục đặc biệt có quyền ghi (nếu cần):
    Bash:
    chmod -R 755 data
    chmod -R 755 internal_data
    (Lưu ý: Trên một số máy chủ, bạn có thể cần thay 755 bằng 775 ở hai lệnh cuối.)

Kết luận

Phân quyền file là một lớp bảo mật nền tảng không thể bỏ qua. Bằng cách tuân thủ quy tắc "755 cho thư mục, 644 cho file" và đảm bảo hai thư mục data, internal_data có thể được ghi bởi web server, bạn đã góp phần xây dựng một "pháo đài" vững chắc hơn cho cộng đồng của mình.

Chúc các bạn thành công.


VNXF.VN​
 
Back
Top