File Permission là gì ?
Hiểu một cách đơn giản nhất thì File Permission giúp hệ thống quyết định và phân quyền tệp tin đối với vai trò khác nhau, và đối với từng khả năng đọc, ghi và sửa đổi các thông tin khác nhau trên hệ thống. Ví dụ một người dùng A họ chỉ cần truy cập để xem thông tin của một tệp tin thì họ có thể có quyền đọc, và ngược lại người khác chỉ cần một quyền để ghi vào trên tệp tin trên hệ thống thì cũng cần tới một quyền ghi và cũng sẽ có các quyền khác giữ vừa đọc vừa ghi đều được quy định rõ ràng.
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ụ như dưới đây:
-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, hoặc 600
Cách chỉnh sửa File Permission trên Hosting.
Trên giao diện quản trị File Manager của Hosting bạn có thể truy cập đến phần quản lý (bạn cần thao tác với tệp hoặc thư mục nào thì tìm tới thư mục/tệp đó). Tại phần giao diện bạn có thể thấy phần Permissions, cPanel cho phép bạn thay đổi thông số này khá nhanh và đơn giản bằng cách nháy đúp chuột trái vào số Permissions hiện tại và bạn có thể thay đổi thông số này và sau khi thay xong thì nhấn Save nhé.
Ngoài ra bạn cũng có thể rê chuột trên phần thư mục/tệp tin mà bạn cần thao tác sau đó nhấn chuột phải => change permissions để thực hiện thay đổi thông tin file permissions.
Cũng giống với việc thay đổi các thông tin được môt ả như bên trên mình đã có đề cập thì tương ứng tại đây bạn điền các mã tương ứng cho website của bạn hoạt động một cách tốt nhất.
Permissions là một phần quan trọng và bạn cần chú ý thao tác đúng để tránh gặp lỗi hoặc gặp các lỗ hổng có thể gây hại cho website của bạn khi Hacker biết và khai thác các lỗ hổng thông tin này. Như vậy mình đã hướng dẫn bạn cách thay file permissions trên Hosting.