← Về trang chủ

Chmod Calculator — Octal ↔ Symbolic + Linux Permission Visualizer

Quy đổi quyền file Linux/Unix giữa 3 dạng: octal (vd 755), symbolic (rwxr-xr-x), bảng tick interactive Owner/Group/Other × Read/Write/Execute. Hỗ trợ setuid, setgid, sticky bit. 8 preset thường dùng (644, 755, 600, 1777, ...).

OctalSymbolicSticky/SUID/SGID8 Presets
 Read (r=4)Write (w=2)Execute (x=1)Special
Owner (u)
Group (g)
Other (o)

Lệnh chmod

chmod 755 <file>

Preset phổ biến

Vì sao dùng tool này

🎯
Visualize 3 chiều

Bảng tick interactive — bấm checkbox thay vì nhớ công thức 4r+2w+1x. Hiển thị tức thời cả octal + symbolic.

📋
8 preset cho case thường

755 (executable), 644 (file thường), 600 (.env), 700 (private), 777 (cấm prod), 775 (group write), 1777 (sticky /tmp), 440 (read-only).

🛡️
Special bits đầy đủ

setuid (4xxx), setgid (2xxx), sticky (1xxx) — quan trọng cho /tmp, shared folder, executable nâng quyền (sudo, passwd).

Cách sử dụng

  1. 1Nhập octal (755) hoặc symbolic (rwxr-xr-x), hoặc click checkbox trong bảng.
  2. 23 ô luôn sync — đổi 1 cập nhật 2 ô còn lại.
  3. 3Bấm preset 755/644/600/... để load nhanh case phổ biến.
  4. 4Copy lệnh chmod tự động sinh: 'chmod 755 <file>'.

Linux file permission — Hiểu đúng

Quyền file Linux có 9 bit chính + 3 bit special: 3 bit × 3 nhóm (Owner / Group / Other) × 3 quyền (Read=4 / Write=2 / Execute=1) + setuid (4) + setgid (2) + sticky (1). Octal 755 nghĩa: Owner read+write+execute (4+2+1=7), Group + Other read+execute (4+1=5). Symbolic 'rwxr-xr-x' viết rõ từng bit.

Phổ biến nhất: 755 cho executable + thư mục public (web server), 644 cho file text thường, 600 cho file nhạy cảm (.env, ~/.ssh/id_rsa, ~/.aws/credentials), 700 cho thư mục private. 777 KHÔNG NÊN dùng production — anyone có thể write, security hole. Nếu thấy app yêu cầu 777, hỏi lại config nó cần quyền gì cụ thể.

Special bits ít người biết: setuid (chmod 4xxx) chạy file với quyền owner thay vì user — dùng cho /usr/bin/sudo, /usr/bin/passwd. setgid trên thư mục — file mới tạo trong đó inherit group của thư mục thay vì user (collab). sticky bit trên /tmp — anyone write but chỉ owner xoá file của mình (chống user khác xoá file của bạn trong /tmp).

Lệnh chmod đầy đủ: 'chmod 755 file.sh' (octal absolute), 'chmod u+x file.sh' (symbolic add execute cho owner), 'chmod -R 755 dir' (recursive). Khác chown đổi owner, chgrp đổi group. Luôn check 'ls -la' sau khi chmod để confirm — typo octal có thể locked you out.

  • Octal ↔ Symbolic bidirectional sync
  • Bảng 3×3 checkbox interactive
  • Setuid / Setgid / Sticky bit
  • 8 preset thường dùng có giải thích
  • Tự sinh lệnh chmod sẵn copy
  • Recursive option giải thích
  • 100% client-side

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

Sao 1777 thay vì 777 cho /tmp?

1xxx = sticky bit. Trên thư mục, sticky bit nghĩa: anyone có thể write file mới vào, nhưng chỉ owner của file đó (hoặc root) xoá được. Quan trọng cho /tmp để user A không xoá file của user B.

Setuid + executable script có chạy được không?

Trên Linux hiện đại KHÔNG. Bash script bị kernel ignore setuid bit từ lâu vì security (race condition exploit). Setuid chỉ work với binary compiled. Cần script chạy với quyền cao → dùng sudo + sudoers config.

744 vs 755 — khác gì cho thư mục?

Thư mục cần execute bit để cd / list content. 744 cho thư mục → user khác không cd vào được. 755 cho thư mục cho phép cd + ls. Khác với file: 644 ok, 744 cũng ok cho file.

Có cách check current permission của file?

Dùng 'ls -la file' hoặc 'stat file'. Output 'drwxr-xr-x' nghĩa: d=directory, rwx owner, r-x group, r-x other → 755.