Công Cụ Nhanh

Tính quyền chmod online

Ví dụ 755, 644, 0640, 2775.

Ví dụ rwxr-xr-x, dán được cả dòng ls -l như -rw-r--r--.

Mẫu quyền hay dùng

Bảng quyền
Bảng quyềnĐọc rGhi wChạy x#
Chủ sở hữu (u)7
Nhóm (g)5
Người khác (o)5
Bit đặc biệt

Áp lên quyền hiện tại, ví dụ u+x, go-w, a=r, u=rwx,g=rx,o=

755

Hiện trong ls -l: -rwxr-xr-x

Chủ sở hữu (u)
Nếu là tệp: xem nội dung, sửa nội dung, chạy như chương trình / script
Nếu là thư mục: liệt kê tên tệp bên trong, tạo, xoá, đổi tên tệp bên trong (cần kèm x), đi vào thư mục, truy cập tệp bên trong
Nhóm (g)
Nếu là tệp: xem nội dung, chạy như chương trình / script
Nếu là thư mục: liệt kê tên tệp bên trong, đi vào thư mục, truy cập tệp bên trong
Người khác (o)
Nếu là tệp: xem nội dung, chạy như chương trình / script
Nếu là thư mục: liệt kê tên tệp bên trong, đi vào thư mục, truy cập tệp bên trong

Lệnh tương ứng

  • chmod 755 wp-config.php
  • chmod u=rwx,g=rx,o=rx wp-config.php
  • ls -l wp-config.php # -rwxr-xr-x

Đặt quyền cả cây thư mục web (chạy trong thư mục website)

find . -type d -exec chmod 755 {} + find . -type f -exec chmod 644 {} + chmod 600 wp-config.php

Xử lý ngay trên trình duyệt của bạn. Tệp và dữ liệu không được tải lên máy chủ.

Trả lời nhanh

Mỗi chữ số trong chmod là tổng quyền của một nhóm người: đọc = 4, ghi = 2, chạy = 1. Chữ số thứ nhất cho chủ sở hữu, thứ hai cho nhóm, thứ ba cho người khác. Vì vậy 755 = rwxr-xr-x (chủ toàn quyền, người khác đọc và chạy), 644 = rw-r--r-- (chủ đọc ghi, người khác chỉ đọc).

chmod là gì?

Tích các ô đọc, ghi, chạy cho chủ sở hữu, nhóm và người khác để thấy ngay số chmod (755, 644, 0640) và dạng ký hiệu rwxr-xr-x như lệnh ls -l hiển thị; hoặc gõ / dán một trong hai dạng để đổi ngược lại. Công cụ có bit đặc biệt setuid, setgid, sticky, giải thích từng quyền khi áp lên tệp và lên thư mục (khác nhau khá nhiều), ô thử lệnh dạng chữ như u+x hay go-w, cảnh báo quyền nguy hiểm như 777, cùng các mẫu quyền hay dùng trên hosting aaPanel, cPanel và lệnh chmod để sao chép.

Minh hoạ tủ hồ sơ ba ngăn, mỗi ngăn gắn một ổ khoá nhỏ ở trạng thái khác nhau (khoá, mở, hé mở), bên cạnh là chùm ba chìa treo trên móc

Cách tính quyền chmod

  1. 1

    Tích ô Đọc, Ghi, Chạy ở từng hàng Chủ sở hữu, Nhóm, Người khác; số chmod và dạng rwx cập nhật ngay.

  2. 2

    Hoặc gõ số (755) hay dán chuỗi ls -l (-rw-r--r--) vào ô tương ứng để xem bảng quyền và ý nghĩa.

  3. 3

    Chọn một mẫu như “644 · tệp web” hay “600 · wp-config.php, .env” nếu bạn đang cấu hình website.

  4. 4

    Nhập tên tệp ở phần “Lệnh tương ứng” rồi sao chép lệnh chmod để chạy trên máy chủ (qua SSH hay Terminal của aaPanel).

Giá trị từng chữ số

SốKý hiệuQuyền
0---Không có quyền
1--xChỉ chạy
2-w-Chỉ ghi
3-wxGhi và chạy
4r--Chỉ đọc
5r-xĐọc và chạy
6rw-Đọc và ghi
7rwxĐọc, ghi và chạy

Quyền nên đặt cho website (WordPress, Laravel, PHP)

Đối tượngQuyềnGhi chú
Mọi thư mục755 (hoặc 750)Máy chủ web cần x để đi vào thư mục, r để liệt kê
Mọi tệp .php, .html, .css, ảnh644 (hoặc 640)Chủ sửa được, máy chủ web đọc được
wp-config.php, .env600, 440 hoặc 400Chứa mật khẩu database, càng ít người đọc càng tốt
Thư mục uploads, cache, storage755, chủ sở hữu là người dùng chạy PHPSửa đúng chủ sở hữu (chown) thay vì mở 777
~/.ssh và khoá riêng700 cho thư mục, 600 cho khoáSSH từ chối khoá có quyền rộng hơn

Theo hướng dẫn bảo mật WordPress (developer.wordpress.org, mục Hardening WordPress): thư mục 755 hoặc 750, tệp 644 hoặc 640, wp-config.php 440 hoặc 400. Trên aaPanel, website thường thuộc người dùng www.

Ý nghĩa r, w, x trên tệp và trên thư mục

QuyềnTrên tệpTrên thư mục
r (đọc)Xem nội dung tệpLiệt kê tên các tệp bên trong (ls)
w (ghi)Sửa, ghi đè nội dungTạo, xoá, đổi tên tệp bên trong (cần kèm x)
x (chạy)Chạy như chương trình hoặc scriptĐi vào thư mục (cd) và mở tệp bên trong nếu biết tên

Ví dụ thực tế

WordPress báo không ghi được tệp

Thường do chủ sở hữu sai chứ không phải thiếu quyền. Kiểm tra bằng ls -l: thư mục wp-content nên thuộc người dùng chạy PHP (trên aaPanel là www) với quyền 755, không cần 777.

Bảo vệ wp-config.php

Chọn mẫu “600 · wp-config.php, .env”, nhập tên tệp rồi sao chép lệnh chmod 600 wp-config.php. Chỉ chủ sở hữu đọc ghi được; nếu PHP chạy bằng người dùng khác thì dùng 640 và đặt nhóm phù hợp.

Script backup không chạy

Báo “Permission denied” khi chạy ./backup.sh nghĩa là thiếu quyền chạy. Dùng ô thử lệnh với u+x: 644 thành 744, rồi chạy chmod u+x backup.sh.

Thư mục làm chung của nhóm

Mẫu 2775 (setgid) giúp mọi tệp tạo trong thư mục tự thuộc nhóm của thư mục, các thành viên cùng nhóm sửa được tệp của nhau.

Lỗi thường gặp

Đặt 777 cho cả website để hết lỗi quyền.
777 cho phép mọi tiến trình trên máy ghi vào, là đường quen của mã độc. Sửa chủ sở hữu bằng chown cho đúng người dùng chạy PHP, giữ 755 / 644.
chmod -R 644 làm website trắng trang.
-R áp cả cho thư mục, thư mục mất quyền x nên không ai vào được. Đặt riêng: find . -type d -exec chmod 755 {} + và find . -type f -exec chmod 644 {} +.
Khoá SSH bị từ chối: “UNPROTECTED PRIVATE KEY FILE”.
Khoá riêng phải là 600 (hoặc 400) và thư mục ~/.ssh là 700; SSH từ chối khoá người khác đọc được.
Đặt setuid cho script PHP / bash mà không có tác dụng.
Linux bỏ qua setuid trên script vì lý do an toàn. Cần quyền cao thì dùng sudo với quy tắc giới hạn.

Chữ số thứ tư (setuid, setgid, sticky)

Khi số chmod có 4 chữ số như 2775 hay 1777, chữ số đầu là bit đặc biệt: 4 = setuid, 2 = setgid, 1 = sticky. Trong ls -l, chúng hiện thành s hoặc t ở vị trí chữ x; chữ hoa S hoặc T nghĩa là có bit đặc biệt nhưng thiếu quyền chạy, thường là đặt nhầm.

Số 0 đứng đầu như 0644 chỉ là cách viết bát phân trong nhiều ngôn ngữ (PHP chmod('a.txt', 0644)); với lệnh chmod, 0644 và 644 như nhau.

Thuật ngữ

chmod
Lệnh đổi quyền truy cập của tệp, thư mục trên Linux / Unix (change mode).
chown
Lệnh đổi chủ sở hữu và nhóm của tệp, ví dụ chown www:www index.php.
Chủ sở hữu (u)
Người dùng sở hữu tệp, thường là người tạo ra tệp.
Nhóm (g)
Nhóm người dùng được gán cho tệp; thành viên nhóm dùng quyền ở chữ số thứ hai.
Người khác (o)
Mọi người dùng còn lại trên máy, kể cả tiến trình máy chủ web nếu không phải chủ hay cùng nhóm.
umask
Mặt nạ trừ bớt quyền mặc định khi tạo tệp mới; umask 022 cho tệp 644 và thư mục 755.

Câu hỏi thường gặp

chmod 755 nghĩa là gì?

Chủ sở hữu đọc, ghi, chạy (7); nhóm và người khác đọc, chạy (5). Đây là quyền chuẩn cho thư mục website và script cần chạy.

chmod 644 nghĩa là gì?

Chủ sở hữu đọc, ghi (6); nhóm và người khác chỉ đọc (4). Đây là quyền chuẩn cho tệp HTML, PHP, ảnh trên website.

Có nên chmod 777 không?

Hầu như không bao giờ trên máy chủ web. Lỗi “không ghi được” nên sửa bằng chown đúng người dùng, hoặc 775 nếu cần nhóm cùng ghi.

Xem quyền hiện tại của tệp thế nào?

Chạy ls -l tên-tệp để thấy dạng -rw-r--r--, hoặc stat -c '%a %n' tên-tệp để thấy số 644. Trên aaPanel, mục Tệp có cột Quyền.

Đổi quyền cả thư mục con thế nào?

chmod -R áp một quyền cho tất cả, dễ làm thư mục mất quyền x. Nên dùng find để tách thư mục (755) và tệp (644) như lệnh mẫu trong công cụ.

Windows có chmod không?

Windows dùng ACL riêng; chmod chỉ có ý nghĩa trên Linux, macOS hoặc trong WSL. Quyền trong FileZilla hay trình quản lý tệp của hosting cũng chính là chmod trên máy chủ.

Đánh giá và bình luận

Đang tải…