File Permissions là gì? Nó hoạt động như thế nào?

Ngày đăng: 22/08/2019
Cập nhật: 26/11/2022

Thiết lập file permissions một cách phù hợp rất quan trong để đảm bảo an toàn cho website. Mặc dù khi cài đặt WordPress các file cũng đã được phân quyền sẵn, nhưng thế là chưa đủ. Quyền truy cập tệp để xác định những ai có quyền đọc, chỉnh sửa các file có trong website.

Nếu chúng ta đặt không chính xác, hacker sẽ dễ dàng tấn công, có khi là spam hoặc thêm malware. Các bạn không cần quá lo lắng, bài viết này có đầy đủ thông tin về File Permissions. Cách hoạt động và chỉnh sửa quyền truy cập, bao gồm cả quyền file .htaccess được đề xuất bởi WordPress.

File Permissions là gì ?

File permissions sẽ quyết đinh ai sẽ có quyền truy cập vào file. Có nhiều quyền truy cập khác nhau, được quyết định bằng các quy tắc khác nhau. Các quy tắc sẽ giống như một dãy số gồm ba số hoặc kết hợp với chữ cái kèm ký tự. Nếu bạn sử dụng File Transfer Protocol (FTP) hoặc Secure Shell access (SSH) để chỉnh sửa file permissions.

Cách thức hoạt động của file permissions

Tất cả bắt đầu bằng việc xác định người nào có quyền truy cập, chúng ta có ba tùy chọn:

  • User – Admin của trang web
  • Group – Người dùng khác như editor, contributors, subscribers, hay các role khác
  • World – Bất kỳ ai trên internet

Ngoài ra còn có ba hành động khác nhau mà user, group, và world có thể thực hiện:

  • Read – Chỉ đọc
  • Write – Có quyền chỉnh sửa
  • Execute – Có khả năng chạy các nội dung như program, hoặc script

Sau đó, quyền truy cập file lại được chia thành ba number (số) cụ thể:

  • Số đầu tiên – Quyền được cấp cho user
  • Số thứ hai – Quyền truy cập cho group
  • Số thứ ba – Quyền truy cập cho world

Mỗi số tương ứng với một mức độ hoặc một tập hợp các quyền. Tuy nhiên, một vài số sẽ ngoại lệ và được quyền truy cập toàn bộ.

Ví dụ:

  • 0 – Không có quyền truy cập
  • 1 – Execute
  • 2 – Write
  • 3 – Write, và execute
  • 4 – Read
  • 5 – Read, và execute
  • 6 – Read, và write
  • 7 – Read, write, và execute

Sẽ khá khó khi phải nhớ quyền tương ứng với mỗi con số. Vì vậy, đây là một mẹo nhỏ sẽ giúp bạn nhớ chúng tốt hơn:

  • 0 có nghĩa là không có quyền nào cả
  • 1 là execute
  • 2 sẽ có quyền write…
  • 4 là read…

Khi muốn cấp quyền nào đấy, hãy thêm chúng vào và kết quả sẽ là con số chính xác của file permissions mà bạn muốn thiết lập. Ví dụ:

  • Nếu muốn cấp quyền read và write, bạn sẽ cần thêm 4 và 2 để có số 6.
  • Còn nếu muốn thêm read, write, và execute, chúng ta sẽ cần cộng 4,2 và 1 để được 7

Khi biết rõ con số của mức độ truy cập mình muốn cấp, bạn sẽ cần tập hợp chúng theo thứ tự cấp quyền đã đề cập ở trên. Ví dụ: File permissions của 644 có nghĩa là:

  • Người dùng có quyền read và write
  • Read được cấp cho group.
  • World có quyền read.

Điều này rất hữu ích khi bạn truy cập các file qua nhà cung cấp host. Nhưng nếu để ý bạn sẽ thấy các quyền sẽ hơi khác khi sử dụng FTP hoặc SSH. Chúng trông giống như một tập hợp các ký tự và dấu gạch. Ví dụ: -rwxrw-r--

Tương tự như quyền truy cập được đánh số như mình đã nói ở trên. Tùy chọn cấp quyền cho: User, group, và world cũng giống y hệt. Một trong những sự khác biệt lớn nhất là cấu trúc được chia thành bốn nhóm:

  • Nhóm đầu tiên – Dạng file
  • Nhóm thứ hai – Quyền cho user
  • Nhóm thứ ba – Quyền của Group
  • Nhóm thứ tư – Quyền cho World

Nhóm đầu tiên chỉ có một lý tự. Các nhóm còn lại, mỗi nhóm có ba ký tự. Tùy chọn cho tất cả các nhóm được thể hiện như sau:

  • – (dấu gạch nối) – Không có quyền truy cập hoặc với nhóm đầu tiên, chỉ là một file thông thường
  • r – Read
  • w – Write
  • x – Execute
  • d – Directory, đây là một tùy chọn cho nhóm đầu tiên và thường được sử dụng để cấp quyền cho file WordPress

Với ví dụ trên, đây là bảng tổng hợp giúp bạn dễ hình dung hơn. Một số gợi ý thiết lập File Permissions cho WordPress

Ví Dụ rwx rw- r–
Ý nghĩa của nhóm Loại file Read, write, và execute cho user Read, write, and execute permissions cho group Read, write, and execute permissions cho world
Giải thích Biểu thị một file thông thường User được quyền read, write, execute Group được read, and quyền write World chỉ có quyền đọc

Nếu không thiết lập quyền cho file WordPress chính xác thì bạn có thể vô tình cấp thêm quyền truy cập cho những người không cần thiết. Việc này sẽ ủy quyền cho họ chỉnh sửa những thứ bạn không muốn trên web. Chúng ta không nên đặt quyền thành 777 hoặc -rwxrwxrwx nếu sử dụng FTP, SSH. Điều này sẽ làm mọi người có quyền truy cập vào những mục không cần thiết.

Quyền các bạn đặt trong file .htaccess lúc này sẽ không còn tác dụng. Vì bất kỳ ai cũng có khả năng chỉnh sửa file hoặc chuyển hướng website sang một nơi nào đó có chứa malware, hoặc spam. Mặt khác, quyền truy cập file WordPress cũng không nên đặt thành 444, hoặc -r–r–r– trong FTP, SSH client.

Có nghĩa là tất cả mọi người chỉ có thể xem file, bao gồm cả WordPress. Điều này sẽ phá vỡ website vì WordPress, thường cần sự cho phép để sửa đổi một cách an toàn hoặc thực thi một số tệp nhất định. Ví dụ: khi điều trên xảy ra với file .htaccess permission, WordPress sẽ không thể thực thi những lệnh bạn đã thiết lập trước đó như tải web bằng SSL.

Hãy để plugin bảo mật mà bạn sử dụng giữ an toàn cho website hoặc trong những tình huống khác. Nhưng, nếu bạn không thể sử dụng quyền mình đã cấp cho file trên các web WordPress, lúc này chúng ta nên làm thế nào? Các quyền .htaccess mà WordPress đề xuất là gì? Còn các file khác thì sao? Codex WordPress có khuyến nghị bạn nên để các quyền như sau:

  • Folders – 755
  • Files – 644
  • wp-config.php – 600
  • .htaccess – 644, or 600

Cách chỉnh sửa file permissions trong WordPress

Miễn server bạn sử dụng là Linux hoặc dựa trên Unix, chúng ta dễ dàng sửa quyền truy cập WordPress thông qua FTP hoặc SSH.

Chỉnh sửa quyền truy cập file trong WordPress với Host

Mỗi host sẽ có những sự khác biệt nhất định. Vì vậy nếu bạn muốn sửa quyền truy cập file WordPress thông qua cPanel, Plesk hoặc bất kỳ panel nào, Hãy tham khảo tài liệu của bên cung cấp dịch vụ lưu trữ để biết chi tiết về cách thực hiện thay đổi. Nói chung là khá dễ nếu có cPanel bạn chỉ cần vào file manager rồi làm tương tự như FTP.

Chỉnh sửa quyền truy cập file trong WordPress với FTP

Để sửa quyền WordPress bằng FTP và FileZilla client, hãy bắt đầu bằng cách thiết lập kết nối với server. Sau đó, tìm file mà bạn muốn chỉnh sửa quyền truy cập và click chuột phải vào file này, chọn File permissions.

Một cửa sổ sẽ xuất hiện để bạn check vào các quyền tương ứng mình muốn đặt hoặc nhập giá trị. Khi thấy mọi đã đúng với các thay đổi, hãy nhấp vào OK để lưu lại.

Vì vậy, nếu bạn muốn thiết lập quyền truy cập .htaccess mà WordPress đề nghị, chúng ta sẽ cần check các box sau:

  • Owner permissions – Read, và write box
  • Group permissions – Read box
  • Public permissions – Read box

Ngoài ra, người dùng có thể thiết lập quyền .htaccess theo cách an toàn với các check box như sau:

  • Owner permissions – Read, và write box
  • Group permissions – Không box nào được check…
  • Public Permissions – Không box nào được check

Hãy lưu ý là nếu bạn muốn đặt cùng một quyền cho một số file hoặc thư mục cùng một lúc. Hãy đánh dấu những thứ mình muốn, sau đó nhấp chuột phải và chọn tùy chọn File permissions trong danh sách. Để biết thêm chi tiết, hãy xem Hướng dẫn cho FileZilla Client.

Chỉnh sửa quyền truy cập file WordPress với SSH

– Ngoài FTP, quyền truy cập của WordPress cũng dễ dàng được chỉnh sửa với SSH client. – Để sửa quyền WordPress cho các thư mục, hãy nhập lệnh bên dưới: find /path/to/your/wordpress/install/ -type d -exec chmod 755 {} ; – Hãy chắc chắn là bạn đã cập nhật “/path/to/your/wordpress/install/“ với đường dẫn thư mục thực tế trên server của bạn. – Các bạn cũng dễ dàng thay đổi quyền “755” thành những gì mình muốn. – Ngoài ra, quyền truy cập cho toàn bộ file WordPress có thể được chỉnh sửa bởi lệnh sau: find /path/to/your/wordpress/install/ -type f -exec chmod 644 {} ; – Một lần nữa, hãy chắc chắn cập nhật “/path/to/your/wordpress/install/” cho đường dẫn file thực tế. – Bạn cũng có khả năng thay đổi quyền “44” nếu muốn. – Để thay đổi quyền cho wp-config.php, hãy sử dụng lệnh này với những quyền mình gợi ý ở trên: chmod 600 wp-config.php – Chúng ta để quyền truy cập file .htaccess mà WordPress khuyên dùng như này: chmod 600 .htaccess Nếu muốn, hãy thay đổi “600” thành “644”.

– Lúc này, các bạn đã hiểu rõ cách hoạt động của WordPress permissions, cách chỉnh sửa quyền cho các file và thư mục. Chưa hết, bạn cũng biết thiết lập mức độ của các quyền trong .htaccess mà WordPress khuyến nghị.

– Mặc dù việc thiết lập quyền truy cập thích hợp không phải là cách bảo mật wordpress duy nhất trên website. Nhưng chắc chắn đây là một bước quan trọng cần chúng ta thực hiện.