Để đảm bảo an toàn cho các file và thư mục trong website của bạn!, tránh sự nhóm ngó của các hacker thì một trong các yêu cầu quan trọng và phải luôn lưu ý đó là CHMOD cho đúng.
CHMOD định nghĩa đơn giản chính là cụm từ viết tắt của Change Mode – Một lệnh đặc biệt chỉ dùng trên các máy chủ hệ Unix (Linux, Solaris, True64…) dùng để thay đổi quyền lực của một người bất kỳ đối với một tập tin, thư mục bất kỳ trên một website cụ thể. Bằng cách thay đổi chmod, bạn đồng thời gán một quyền lực cho một người nào đó đối với các tập tin, thư mục trong cấu trúc website của bạn.
Thông thường chúng ta cần thiết lập CHMOD 755 cho các thư mục và CHMOD 644 cho các file.
CHMOD là gì? CHMOD= 755 là gì? CHMOD = 644 là gì?
CHMOD chính là thao tác thay đổi các quyền sau:
- "Read" (Đọc): viết tắt là "r", và được biểu diễn bằng số 4
- "Write" (Ghi / Chỉnh sửa): viết tắt là "w", và được biểu diễn bằng số 2
- "Execute" (Thực thi): viết tắt là "x", và được biểu diễn bằng số 1
CHMOD cùng lúc thay đổi quyền hạn trên các file/thư mục với các đối tượng sau:
- "Owner" – chủ sở hữu của file/thư mục,
- "Group" – Nhóm mà Owner là thành viên,
- "Public / Others/ Everybody": những người còn lại.
CHMOD 755 (rwx r-x r-x) cho thư mục
Lưu ý: Khái niệm CHMOD không tồn tại trên hệ thống Windows, mà chỉ có trên các hệ thống Unix/Linux
CHMOD = 755 cho các thư mục có nghĩa là:
- 7 = 4 + 2 + 1 : Người sở hữu thư mục có quyền đọc thư mục (read); chỉnh sửa thư mục (write); liệt kê các thư mục và file bên trong (execute);
- 5 = 4 + 0 + 1 : Những người cùng nhóm chỉ có quyền đọc thư mục (read); liệt kê các thư mục và file bên trong (execute)
- 5 = 4 + 0 + 1 : Những người còn lại chỉ có quyền đọc thư mục (read); liệt kê các thư mục và file bên trong (execute)
CHMOD = 644 cho các tệp (file) có nghĩa là:
- 6 = 4 + 2 + 0 : Người sở hữu thư mục có quyền đọc tệp (read); chỉnh sửa tệp (write)
- 4 = 4 + 0 + 0 : Những người cùng nhóm chỉ có quyền đọc tệp (read)
- 4 = 4 + 0 + 0 : Những người còn lại chỉ có quyền đọc tệp (read)
CMOD 755 cho các thư mục, CHMOD 644 cho các file bằng một file PHP
Tạo một file "chmod.php" nằm trong thư mục mà bạn cần CHMOD cho toàn bộ các file, thư mục bên trong nó với nội dung như sau:
PHP Code:
<?php
system('find . -type d -exec chmod 755 {} \; 2>&1');
system('find . -type f -exec chmod 644 {} \; 2>&1');
echo("\n\nComplete!");
?>
Sau đó thực thi các dòng lệnh trên bằng cách mở link tới file này. VD:
http://xhvn.net/new/chmod.php
CHMOD 755 cho các thư mục, CHMOD 644 cho các file bằng dòng lệnh
Nếu bạn là người quản trị server hoặc có thể thực thi dòng lệnh thông qua SSH thì trước tiên bạn cần chuyển đến thư mục Joomla bằng lệnh "cd" (change directory), sau đó bạn có thể dùng các lệnh sau:
PHP Code:
find . -type d -exec chmod 755 {} \; // dùng để CHMOD cho các thư mục
find . -type f -exec chmod 644 {} \; // dùng để CHMOD cho các file
hoặc
PHP Code:
find . -type d -print0 | xargs -0 chmod 0775 // dùng để CHMOD cho các thư mục
find . -type f -print0 | xargs -0 chmod 0664 // dùng để CHMOD cho các file
hoặc
PHP Code:
chmod -R 755 ./* // dùng để CHMOD tất cả các thư mục và file
find . -type f -exec chmod 644 {} \; // dùng để CHMOD cho các file
CHMOD bằng các trình quản lý file như "File Manager", "FileZilla"…
Đối với FileZilla:
- Chọn"Recurse into subdirectories" để áp dụng thao tác CHMOD cho cả các thư mục con
- Chọn "Apply to all files and directories" để áp dụng thao tác CHMOD cho tất cả các file và thư mục
- Chọn "Apply to files only" để chỉ áp dụng thao tác CHMOD cho các file
- Chọn "Apply to directories only" để chỉ áp dụng thao tác CHMOD cho các thư mục
CHMOD 755 (rwx r-x r-x) cho thư mục bằng "File Manager"