File Permissions là gì?

File Permissions là gì

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. Bài viết này sẽ giúp bạn tìm hiểu và trả lời cho câu hỏi File Permissions là gì và những vấn đề liên quan đến nó.

File Permissions là gì

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. 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

NATAFU COMPANY LIMITED

Địa chỉ: Số 705/77 Đại lộ Bình Dương, Tổ 5, Khu phố Chánh Lộc 3, Phường Chánh Mỹ, Thành phố Thủ Dầu Một, Tỉnh Bình Dương, Việt Nam

Hotline: 097 535 6643

Email hỗ trợ: natafugroup@gmail.com