Explore all courses in this category.
Explore all courses in this category.
Nguyễn Đình Cường
0 comment
09 Nov, 2026
'Permission denied' là thông báo lỗi mà ai làm việc với Linux cũng gặp. Thay vì gõ chmod 777 cho xong chuyện (một thói quen rất xấu), hãy dành mười phút hiểu cách phân quyền hoạt động. Bạn sẽ sửa lỗi nhanh hơn và an toàn hơn.
Chạy ls -l bạn sẽ thấy dòng như:
-rwxr-xr-- 1 deploy www-data 4096 Jan 10 09:00 run.shChuỗi đầu tiên gồm 10 ký tự:
- là file, d là thư mục, l là liên kết.Hai cột sau là tên chủ sở hữu (deploy) và nhóm (www-data).
r (read): đọc nội dung file, hoặc liệt kê thư mục.w (write): sửa file, hoặc tạo và xóa file trong thư mục.x (execute): chạy file như chương trình, hoặc đi vào thư mục.Lưu ý thư mục cần quyền x thì mới cd vào được.
Mỗi quyền có một giá trị: r = 4, w = 2, x = 1. Cộng lại cho từng nhóm:
| Số | Quyền | Ý nghĩa |
|---|---|---|
| 7 | rwx | Đọc, ghi, chạy |
| 6 | rw- | Đọc, ghi |
| 5 | r-x | Đọc, chạy |
| 4 | r-- | Chỉ đọc |
| 0 | --- | Không có quyền |
Vậy 755 nghĩa là chủ sở hữu có rwx, nhóm và người khác có r-x. Đây là quyền thường dùng cho thư mục và file chạy được. Còn 644 là chủ rw-, người khác chỉ r--, thường dùng cho file thông thường.
chmod 755 deploy.sh
chmod 644 index.html
chmod u+x run.sh
chmod g-w config.php
chmod -R 755 thumucCó hai cách viết: dùng số (như 755) hoặc dùng ký hiệu (u là chủ, g là nhóm, o là người khác, a là tất cả; + thêm, - bỏ). Cờ -R áp dụng cho cả nội dung bên trong, hãy dùng thận trọng vì nó áp quyền giống nhau cho cả thư mục lẫn file.
Dùng chown để đổi chủ sở hữu và nhóm:
sudo chown deploy:www-data /var/www/app
sudo chown -R deploy:www-data /var/www/appChỉ quản trị viên (root) mới đổi được chủ sở hữu, nên bạn thường cần sudo.
Ứng dụng của bạn cần ghi vào thư mục storage hoặc uploads nhưng báo lỗi quyền. Cách đúng:
www-data hoặc nginx).775 cho thư mục cần ghi, 644 cho file.Cách này tốt hơn nhiều so với 777, vốn cho phép bất kỳ ai trên máy chủ sửa file.
chmod 777 trên máy chủ thật..env hay khóa riêng SSH nên là 600 hoặc 640.Phân quyền Linux xoay quanh ba đối tượng (chủ, nhóm, người khác) và ba quyền (đọc, ghi, chạy). Hiểu được cách tính số, bạn sẽ không cần đoán mò khi gặp lỗi nữa. Lần tới thấy 'Permission denied', hãy chạy ls -l trước rồi mới quyết định.
Nếu muốn củng cố nền tảng quản trị máy chủ qua bài tập thực tế, hãy xem danh sách khóa học tại codebem.com.
Nguyễn Đình Cường
0 comment