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, ...).
| 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
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.
755 (executable), 644 (file thường), 600 (.env), 700 (private), 777 (cấm prod), 775 (group write), 1777 (sticky /tmp), 440 (read-only).
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
- 1Nhập octal (755) hoặc symbolic (rwxr-xr-x), hoặc click checkbox trong bảng.
- 23 ô luôn sync — đổi 1 cập nhật 2 ô còn lại.
- 3Bấm preset 755/644/600/... để load nhanh case phổ biến.
- 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.