nicetool.dev logo

Tính quyền chmod

Tích các ô hoặc gõ mã bát phân hay dạng ký hiệu; mọi thứ khác cập nhật ngay.

Đối tượngĐọcGhiThực thiGiá trị
Chủ sở hữu (u)7
Nhóm (g)5
Người khác (o)5
$ chmod 755 file.txt
$ chmod u=rwx,g=rx,o=rx file.txt

ls -l: -rwxr-xr-x

Quyền thường dùng

Quyền file trên Unix hoạt động thế nào?

Trên Linux, macOS và các hệ Unix khác, mỗi file và thư mục có ba bộ quyền: cho chủ sở hữu (user), cho nhóm (group) và cho mọi người còn lại (others). Mỗi bộ có thể cho phép đọc (r), ghi (w) và thực thi (x), tương ứng 4, 2 và 1. Cộng lại được một chữ số bát phân cho mỗi bộ, nên rwxr-xr-x thành 7, 5, 5, tức lệnh chmod 755. Với thư mục, quyền đọc cho xem danh sách tên, ghi cho tạo hoặc xóa mục, còn thực thi cho phép đi vào thư mục. Chữ số thứ tư ở đầu chứa các bit đặc biệt: setuid (4), setgid (2) và sticky (1).

Tính năng

  • • Bảng ô tích cho chủ sở hữu, nhóm và người khác, hiện giá trị bát phân tức thì
  • • Sửa hai chiều: gõ 755 hoặc rwxr-xr-x thì các ô tự cập nhật
  • • Hỗ trợ setuid, setgid và sticky bit, hiển thị kiểu ls -l (s, S, t, T)
  • • Lệnh sẵn sàng sao chép ở dạng số và dạng ký hiệu (u=rwx,g=rx,o=rx)
  • • Các mẫu quyền phổ biến nhất kèm giải thích

Chạy không cần mạng

Mọi phép tính chạy trong trình duyệt. Không file nào bị tác động: công cụ chỉ tạo lệnh để bạn tự chạy.

Chỉ là máy tính, 100% phía client.

Cách dùng công cụ Tính quyền chmod

  1. 1

    Tích Đọc, Ghi và Thực thi cho chủ sở hữu, nhóm và người khác. Giá trị bát phân và chuỗi rwx cập nhật theo mỗi cú nhấp.

  2. 2

    Hoặc gõ mã quyền bạn đã biết, như 640 hay rwxr-x---, vào ô Bát phân hoặc Ký hiệu: các ô tích sẽ tự cập nhật.

  3. 3

    Thêm bit đặc biệt nếu cần: setuid cho chương trình phải chạy với quyền chủ sở hữu, setgid hoặc sticky cho thư mục dùng chung.

  4. 4

    Nhập tên file và sao chép lệnh có sẵn, dạng chmod 755 file hoặc dạng ký hiệu chmod u=rwx,g=rx,o=rx file.

Ví dụ thực tế

Triển khai website

Thư mục web thường dùng 755 cho thư mục và 644 cho file, để web server đọc được mọi thứ nhưng chỉ user deploy sửa được: find . -type d -exec chmod 755 {} + và find . -type f -exec chmod 644 {} +.

Sửa lỗi SSH key

SSH từ chối key có quyền quá rộng ("UNPROTECTED PRIVATE KEY FILE"). Đặt 600 cho ~/.ssh/id_ed25519 và authorized_keys, 700 cho thư mục ~/.ssh.

Cho script chạy được

Sau khi viết deploy.sh, chmod 755 deploy.sh (hoặc chmod u+x deploy.sh nếu chỉ mình bạn dùng) để chạy bằng ./deploy.sh.

Thư mục dùng chung cho nhóm

chmod 2775 /srv/project với group sở hữu là nhóm: mọi thành viên trong group ghi được, và file mới giữ group của dự án nhờ setgid.

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

chmod 755 nghĩa là gì?+

Chủ sở hữu: đọc, ghi, thực thi (7). Nhóm: đọc, thực thi (5). Người khác: đọc, thực thi (5). Đây là chuẩn cho script, file chạy và thư mục mà ai cũng dùng được nhưng chỉ chủ sở hữu được sửa.

chmod 777 có bao giờ là ý hay?+

Hiếm khi. Nó cho mọi user và mọi tiến trình bị chiếm quyền sửa file. Hãy sửa quyền sở hữu bằng chown hoặc dùng quyền nhóm. Thư mục dùng chung nên dùng 1777 (sticky) như /tmp.

Vì sao thư mục cần quyền thực thi?+

Với thư mục, x nghĩa là "được đi vào và truy cập file bên trong". Không có nó bạn không cd vào được hay mở file trong đó, kể cả khi đọc được danh sách tên.

644 và 664 khác nhau thế nào?+

664 cho phép thêm nhóm được ghi. Dùng 644 cho file chỉ mình bạn sửa, 664 khi cả nhóm dùng chung group cần sửa cùng file.