BizMaC bizmac.com

Phân quyền file thư mục bằng chmod và chown

Hướng dẫn Linux Server · cập nhật 27/08/2026

Để phân quyền file trên Linux, bạn dùng chmod đổi quyền đọc ghi thực thi và chown đổi chủ sở hữu. Ví dụ chmod 644 file.php cho chủ được sửa, người khác chỉ đọc. Hiểu và làm được mất khoảng 10 phút.

Phân quyền sai là nguyên nhân phổ biến khiến website báo lỗi 403 hoặc không ghi được file. Nắm được chmod và chown giúp bạn tự xử lý mà không phải đoán mò.

  1. Đọc dãy quyền rwx khi chạy ls -l.
  2. Đổi quyền bằng chmod theo số.
  3. Đổi chủ sở hữu bằng chown.
  4. Kiểm lại quyền sau khi đổi.

Đọc dãy quyền rwx nghĩa là gì

Chạy ls -l mỗi file hiện một dãy như -rw-r--r--. Ký tự đầu cho biết là file hay thư mục. Chín ký tự sau chia ba nhóm ba: quyền của chủ sở hữu, của nhóm, và của mọi người còn lại. Chữ r là đọc, w là ghi, x là thực thi, dấu gạch là không có quyền đó.

Ký tựNghĩaVới fileVới thư mục
rĐọcXem nội dungLiệt kê file bên trong
wGhiSửa nội dungTạo, xoá file bên trong
xThực thiChạy như chương trìnhĐi vào bằng cd

Vì sao mỗi quyền quy về một con số

Linux gán mỗi quyền một giá trị: đọc là 4, ghi là 2, thực thi là 1. Cộng lại thành số cho mỗi nhóm. Chủ được đọc ghi là 4 cộng 2 bằng 6. Người khác chỉ đọc là 4. Vì vậy chmod 644 nghĩa là chủ 6, nhóm 4, mọi người 4. Ba con số luôn theo thứ tự chủ, nhóm, mọi người.

SốQuyềnDùng cho
644Chủ đọc ghi, còn lại đọcFile thường, file cấu hình
755Chủ toàn quyền, còn lại đọc và vàoThư mục, file chạy được
600Chỉ chủ đọc ghiFile nhạy cảm như khoá riêng
777Ai cũng toàn quyềnGần như không bao giờ nên dùng

Cách đổi quyền file bằng chmod

Bốn bước dưới đây đổi quyền một file cụ thể. Bạn xem quyền hiện tại, chạy chmod với con số mong muốn, rồi xem lại để chắc đã đúng. Cú pháp là chmod theo sau là số quyền và tên file.

1. Xem quyền hiện tại

Chạy ls -l ten-file để thấy dãy quyền đang có. Ghi nhớ dãy này để so sánh sau khi đổi.

ls -l config.php

2. Đổi quyền cho một file

Chạy chmod với con số mong muốn. Ví dụ cho file cấu hình PHP quyền 644.

chmod 644 config.php

3. Đổi quyền cho cả thư mục

Thêm -R để áp cho mọi file bên trong thư mục. Thư mục thường dùng 755, file bên trong 644.

chmod -R 755 /var/www/mysite
Chạy chmod -R áp quyền cho toàn bộ file con, không hoàn tác được bằng một lệnh. Gõ đúng đường dẫn thư mục trước khi bấm Enter. Nhầm sang thư mục hệ thống có thể làm máy chủ không khởi động lại được.

Cách đổi chủ sở hữu bằng chown

Mỗi file thuộc về một người dùng và một nhóm. Lệnh chown đổi cả hai. Cú pháp là chown nguoi:nhom ten-file. Trên máy chủ web, file website thường phải thuộc về người dùng chạy web server, ví dụ www-data trên Ubuntu, để web ghi được file.

chown www-data:www-data /var/www/mysite/upload

Thêm -R để đổi chủ cho cả cây thư mục. Đây là cách sửa nhanh khi website báo không ghi được file upload dù quyền chmod đã đúng.

Vì sao không nên đặt chmod 777

Nhiều hướng dẫn trên mạng khuyên chạy chmod 777 để hết lỗi phân quyền. Đừng làm theo. Quyền 777 cho phép bất kỳ ai trên máy chủ đọc, sửa và xoá file của bạn. Trên hosting dùng chung, đó là lỗ hổng để mã độc ghi đè file website. Đa số trường hợp chỉ cần 644 cho file và 755 cho thư mục.

Nếu website chỉ chạy khi đặt 777, gốc vấn đề là sai chủ sở hữu, không phải thiếu quyền. Dùng chown gán đúng người dùng web server thay vì mở toang quyền cho mọi người.

Kiểm tra lại và xử lý lỗi hay gặp

Sau khi đổi, chạy lại ls -l để xác nhận dãy quyền và chủ sở hữu đã đúng. Lỗi hay gặp là website vẫn báo 403 dù chmod đúng, thường do thư mục cha thiếu quyền x nên web server không đi vào được. Kiểm tra quyền của từng thư mục trên đường dẫn, không chỉ file cuối.

Nếu bạn dùng bảng điều khiển như DirectAdmin, có công cụ sửa quyền riêng qua giao diện. Còn trên VPS thuần, chmod và chown là cách trực tiếp và nhanh nhất khi đã quen tay.

Hướng dẫn này có giúp được Anh/Chị không?

Bài khác trong Linux Server

Xem cả 22 bài
Cài tường lửa UFW cơ bản cho VPS Ubuntu Cách cài UFW trên Ubuntu, cho phép cổng SSH trước khi bật, mở cổng web 80 và 443, rồi kích hoạt tường lửa mà không mất kết nối cho người mới quản trị VPS. 5 phút đọc Cập nhật 29/08/2026 Đổi port SSH mặc định để bảo mật VPS Cách đổi cổng SSH từ 22 sang cổng khác trong file sshd_config, mở cổng mới trên tường lửa trước khi khởi động lại dịch vụ, và kiểm tra kết nối cho người mới. 5 phút đọc Cập nhật 28/08/2026 Cài Fail2Ban chống dò mật khẩu SSH Cách cài Fail2Ban trên Ubuntu và CentOS, tạo file cấu hình jail.local, đặt số lần sai và thời gian khoá IP, rồi kiểm tra danh sách IP đang bị chặn. 5 phút đọc Cập nhật 28/08/2026 15 lệnh Linux cơ bản cho người mới quản trị VPS Bảng tra 15 lệnh Linux thiết yếu để đi lại trong thư mục, xem và sửa file, kiểm tra tài nguyên và quản lý dịch vụ trên VPS, kèm ví dụ cho người mới. 5 phút đọc Cập nhật 26/08/2026 Kết nối VPS Linux bằng SSH với PuTTY Cách tải PuTTY, nhập IP và cổng, lưu session để lần sau vào nhanh, và đăng nhập VPS Linux lần đầu bằng tài khoản root cho người mới quản trị. 7 phút đọc Cập nhật 25/08/2026 Cài ConfigServer Security and Firewall trên CentOS Cài CSF trên CentOS bằng script install.sh, mở đúng cổng trong csf.conf rồi tắt chế độ Testing. Kèm bảng lệnh chặn và gỡ chặn IP dùng hàng ngày. 8 phút đọc 90 lượt xem Cập nhật 25/08/2026

Làm theo vẫn chưa được?

Gửi yêu cầu hỗ trợ, kỹ thuật xem trực tiếp trên dịch vụ của Anh/Chị.

Gửi yêu cầu hỗ trợ