Hướng dẫn CHMOD hàng loạt cho file và thư mục bằng lệnh find
Việc thiết lập sai quyền hạn (permission) cho file và thư mục là một vấn đề phổ biến, có thể gây ra lỗi hiển thị hoặc nghiêm trọng hơn là tạo ra lỗ hổng bảo mật. Bài viết này sẽ hướng dẫn bạn cách sử dụng lệnh find
để CHMOD hàng loạt một cách nhanh chóng và chính xác.
Tại sao nên dùng CHMOD 644 cho file và 755 cho thư mục?
Đây là bộ quyền hạn tiêu chuẩn và an toàn cho hầu hết các môi trường lưu trữ web:
1. Các trường hợp CHMOD phổ biến
Dưới đây là các lệnh bạn có thể sử dụng trực tiếp. Hãy thay /home/username/public_html
bằng đường dẫn thực tế của bạn.
Trường hợp 1: Thiết lập lại toàn bộ quyền hạn về chuẩn
Đây là tác vụ phổ biến nhất khi bạn muốn dọn dẹp và đảm bảo toàn bộ mã nguồn có quyền hạn chính xác.
- Đặt tất cả FILE thành 644:
- Đặt tất cả THƯ MỤC thành 755:
Trường hợp 2: Sửa các quyền hạn sai và không an toàn
Đôi khi, bạn chỉ muốn tìm và sửa những file/thư mục đang bị CHMOD sai, ví dụ như 666 hoặc 777.
- Tìm các file đang có quyền 666 và chuyển về 644:
- Tìm các thư mục đang có quyền 777 và chuyển về 755:
Trường hợp 3: Thực hiện cho tất cả người dùng
Nếu bạn là quản trị viên máy chủ và muốn thực hiện cho tất cả các tài khoản người dùng trong thư mục /home
, bạn có thể thay thế tên người dùng bằng ký tự đại diện *
.
find /home/*/public_html -type f -exec chmod 644 {} ;
# CHMOD tất cả thư mục của tất cả user về 755
find /home/*/public_html -type d -exec chmod 755 {} ;
Cảnh báo quan trọng
Lệnh find
kết hợp với -exec
rất mạnh mẽ. Hãy kiểm tra kỹ đường dẫn trước khi thực thi lệnh, đặc biệt là khi sử dụng quyền root (sudo) hoặc ký tự đại diện (*). Một sai sót nhỏ có thể làm thay đổi quyền hạn trên toàn bộ hệ thống và gây ra lỗi nghiêm trọng.