Khi thực hiện các công tác bảo vệ, bạn thường được nghe nhắc tới thuật ngữ chmod. Chẳng hạn, “Chmod theo chuẩn 644”. Vậy chmod là gì? Nó hoạt động như thế nào? Cách sử dụng ra sao? Hãy cùng tìm hiểu cụ thể hơn thông qua bài viết dưới đây nhé.
Chmod là gì?
Chmod là cụm từ viết tắt của “Change Mode”. Đây là một tính năng phân quyền các tập tin, thư mục trong môi trường Linux. Bởi lẽ, hầu hết các host hiện nay mà bạn đang dùng đều là Linux, các khóa học về lập trình tại một số trung tâm như Bachkhoa-NPower cũng đều dạy về các nội dung này, vì vậy mà nó khá phổ biến.
Hầu hết mọi người ít nhất đã một lần sử dụng lệnh chmod trên hệ điều hành Linux. Nhất là trong các trường hợp thao tác với các file, thư mục. Bạn có thể thực hiện bằng cách phân quyền chỉ đọc hoặc toàn quyền.
Nếu bạn đang sử dụng hệ điều hành Linux/Unix, chmod sẽ được hiển thị với cú pháp (syntax) như sau: “chmod [options] mode [mode] file1 file2 file3…”
Một số option bạn cần biết như:
- v: verbose, dùng để hiển thị đối tượng đã xử lý.
- f: force, dùng để cài đặt quyền trong các trường hợp có lỗi phát sinh.
- r: recursive, được áp dụng cho tất cả file cũng như folder.
Trường hợp nếu là một symbolic link thì đối tượng đích có thể sẽ bị ảnh hưởng.
Tìm hiểu ý nghĩa các tham số chmod
Các tham số trên chmod được biểu diễn dưới dạng số. Mỗi số là một kết quả của quyền cộng lại. Trên mỗi thư mục/tệp tin, ta có 3 quyền cơ bản:
- 1: Execute – x: quyền truy cập trên thư mục
- 2: Write – w: quyền ghi
- 4: Read – r: quyền đọc
Một số mode bạn cần biết:
- 0 = none: —
- 1 = execute only: –x
- 2 = write only: -w-
- 3 = write and execute: -wx
- 4 = read only: r–
- 5 = read and execute: r-x
- 6 = read and write: rw-
- 7 = read, write and execute: rwx
Ví dụ: mode = 777, ta có:
- file = -rwxrwxrwx
- folder = drwxrwxrwx
Ghi chú:
- Dấu “-” ký hiệu file, “d” ký hiệu folder.
- 3 ký tự đầu tiên tương ứng quyền đọc, ghi, thực thi của người tạo file/folder.
- 3 ký tự tiếp theo tương ứng quyền đọc, ghi, thực thi của group người tạo file/folder.
- 3 ký tự cuối tương ứng quyền đọc, ghi, thực thi của tất cả người dùng khác.
Chmod trong thư mục:
Ví dụ 1: Trường hợp mode 755. Tương tự cách phân tích bên trên, 755 có ý nghĩa như sau:
755 = folder = drwxr-xr-x = (4+2+1)(4+0+1)(4+0+1)
Ghi chú:
- rwx = 4+2+1 = 7 quyền đọc, ghi và thực thi thư mục này. Đó là user trên host
- r-x = 4+0+1 = 5 quyền đọc và thực thi. Đây là các user bạn tạo ra. Không có quyền ghi.
Khi chmod các thư mục, bạn nên để 755 nhằm đảm bảo an toàn vì chỉ có người sở hữu mới có quyền tạo, thêm thư mục trong đó. Đồng thời, bạn cũng có thể kiểm soát được quyền của các user còn lại trên host.
Trường hợp chmod website báo lỗi 500, nghĩa user đang là sở hữu không thể đọc được thư mục php.
Chmod trong tập tin:
Chmod cho tệp tin cũng tương tự như khi thực hiện cho thư mục. Tuy nhiên, quyền cao nhất trong tập tin chỉ là 6, bao gồm quyền đọc và ghi, không có quyền thực thi.
Trong các tập tin, bạn nên cho người user trên host quyền 6 để thực thi các mã php trong trường hợp khi WordPress chạy có thể tự sửa một số tập tin cần thiết. Tốt nhất, bạn nên chmod chuẩn cho tập tin php là 644 hoặc 640.
Cách Chmod như thế nào?
Dưới đây là hướng dẫn chi tiết cho bạn về sử dụng chmod trong cPanel,qua FTP và trên Linux:
Chmod trong cPanel
Bước 1: Đăng nhập vào trang quản trị cPanel
Bước 2: Khi đăng nhập thành công, bạn vào “Files”, chọn “File Manager”.
Bước 3: Trong “File Manager”, bạn chọn thư mục hoặc tập tin để chmod.
- Nếu bạn chmod cho từng file hoặc folder, bạn có thể chọn vào “Perms” hoặc chọn “Change Permissions” để thay đổi các thông số.
- Nếu bạn muốn chmod toàn bộ, hãy chọn “Select all”, click vào “Change Permissions” và thực hiện các tùy chỉnh. (Lưu ý: chmod toàn bộ không chmod riêng rẽ các thư mục, tập tin với từng thông số cấu hình. Vấn đề này được khắc phục qua giao thức FTP).
CHMOD qua giao thức FTP
Để chmod qua FTP, bạn cần có phần mềm quản lý file hoạt động trong giao thức này như: Flashfxp, Cute-pro, Filezilla,… Sau đó, bạn thực hiện các bước như sau:
Bước 1: Điền thông số đăng nhập và chọn “Quick Connect”. Thông số này tương tự thông số khi bạn đăng nhập trong quản trị cPanel. Chỉ khác tại mục host, bạn điền IP server hosting hoặc main domain host, với điều kiện domain đó phải trỏ về host.
Bước 2: Tiến hành chmod từng file/folder hoặc toàn bộ, chọn “file permissions” và điều chỉnh các thông số.
Chmod trên Linux/Unix
Nếu bạn sử dụng chmod trên Linux, hãy thực hiện như sau:
Bước 1: Kiểm tra quyền file/folder để xác định tham số.
Bước 2: Thực hiện phân quyền cho file/folder theo nhu cầu và mục đích của bạn.
Bước 3: Tiến hành phân quyền cho các folder/file bên trong nó với tham số -R. Để folder có thể mở được, bạn cần phân quyền thực thi x (nếu chưa có).
Tương tự đối với +r, +w để thêm quyền đọc và ghi, bạn có thể thay đổi cả folder/file hoặc quyền chỉ bên trong nó.
Trên đây là những phân tích cụ thể về chmod, cách sử dụng trong từng trường hợp được tham khảo từ website Tech-buzz.net. Hi vọng với những chia sẻ hữu ích của Mona Media sẽ giúp bạn sử dụng và bảo mật website một cách an toàn nhất. Bên cạnh đó, nếu bạn đang gặp vấn đề về bảo mật, thiết kế hay lập trình website, hãy liên hệ ngay với Mona Media. Với kinh nghiệm lâu năm trong lĩnh vực lập trình, thiết kế và hỗ trợ host, chúng tôi sẽ giúp bạn khắc phục mọi vấn đề một cách nhanh chóng và tiết kiệm nhất.