(directory)
Để đảm bảo an toàn cho các file và thư mục trong Joomla!, 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 ln lưu ý đó là CHMOD cho đúng.
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,
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);
CHMOD 755 (rwx r-x r-x) cho thư mục
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)
CHMOD 644 (rw- r-- r--) cho file
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 tồn bộ các file, thư mục bên trong nó với nội dung như sau:
<?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://yoursite.com/joomla/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:
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
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
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 FileZilla
Part 19