Computer >> Hướng Dẫn Máy Tính >  >> Hệ Thống >> Linux

Cách thay đổi quyền file đệ quy trong Linux

Vì Linux là hệ điều hành đa người dùng, nó có cơ chế đặt và quản lý quyền file đảm bảo chỉ tiến trình và user được ủy quyền truy cập thư mục và file. Khi dùng Linux, bạn có thể gặp trường hợp không sửa được file/thư mục vì lỗi "Permission denied", chỉ ra bạn không có đặc quyền cần thiết. Hướng dẫn này chỉ cách thay đổi quyền file đệ quy trong Linux để cài đặt quyền áp dụng cho sub-folder và file.

Cách kiểm tra quyền file trong Linux

Khi lỗi "permission denied" xảy ra trên thao tác file/thư mục, bắt đầu bằng kiểm tra quyền cấp cho user, group và other.

Để làm vậy, dùng lệnh ls -l. Ví dụ, sau là quyền cho file/thư mục trong "/var".

Cách thay đổi quyền file đệ quy trong Linux

Output trên chứa thông tin cụ thể.

  1. Cột đầu biểu diễn quyền file/thư mục. Chữ cái đầu cột chỉ loại: d = thư mục, l = symbolic link, - = file thường.
  2. 9 ký tự còn lại chia thành 3 nhóm: u user, g group, o owner chỉ quyền file/thư mục. r = "read", w = "write", X = "execute".
Cách thay đổi quyền file đệ quy trong Linux

Khi biết quyền file thư mục/file làm việc, bạn dễ dàng thay đổi.

Cách dùng chmod thay đổi quyền file

Lệnh chmod là cách dễ nhất thay đổi quyền file Linux. Cú pháp chung:

chmod {permission}{operator}{mode}
  • Permission: Quyền cho user, group, owner, hoặc all.
  • Operator: Chỉ quyền cho assignee: + cấp quyền, - từ chối, = chỉ định quyền set.
  • Mode: Quyền set: r read, w write, x execute.

Ví dụ, từ chối mọi người write access thư mục backup trong "/var", dùng lệnh:

sudo chmod -w /var/backups

Mặc dù đổi quyền với chmod hiệu quả, nó chỉ đổi quyền cho thư mục/file chỉ định.

May mắn thay, bạn có thể thay đổi quyền file đệ quy cho thư mục/file và sub-thư mục/file. Dùng tùy chọn đệ quy -r của chmod.

Ví dụ, đệ quy xóa quyền read cho "/var/backup" và tất cả file/sub-thư mục. Quyền hiện tại:

drwxrwxrwx 2 root root 4096 Jul 15 06:25 backups

Chạy chmod đệ quy đổi quyền:

sudo chmod –r -r /var/backups

Bây giờ bạn thấy quyền đã thay đổi.

Cách thay đổi quyền file đệ quy trong Linux

Đổi quyền đệ quy với find

Thông thường, bạn không set file và thư mục với quyền giống nhau. Vì bạn cần quyền execute để cd vào thư mục. Tuy nhiên, hầu hết file không cần quyền execute này.

Để khắc phục, dùng tiện ích find trong Linux. Cho phép chỉ tìm file hoặc thư mục cụ thể và set quyền trên chúng.

Lấy ví dụ thư mục "/var/log". Thư mục chứa cả file và thư mục.

Cách thay đổi quyền file đệ quy trong Linux

Để set quyền cụ thể cho chỉ file, dùng find với tùy chọn -type f.

Ví dụ lệnh:

sudo find /var/log/ -type f -exec chmod 777 {} \;

Trong ví dụ, dùng find search "/var/log" cho file, rồi set read, write, execute cho user, group, all.

Cũng làm tương tự cho thư mục. Chỉ định -type d để chỉ lấy thư mục.

Ví dụ:

sudo find /var/log/ -type d -exec chmod 755 {} \;

Trong ví dụ, chỉ set permission 755 cho thư mục, không phải cả file và thư mục.

Bạn xác minh bằng lệnh ls -la.

Cách thay đổi quyền file đệ quy trong Linux

Bạn sẽ thấy tất cả file có permission 777, thư mục có 755.

Kết thúc

Biết cách đổi quyền file Linux là kỹ năng thiết yếu, giúp ngăn truy cập và sửa đổi trái phép file/thư mục. Tiếp theo, bạn cũng có thể đổi quyền sở hữu file để hạn chế truy cập hoặc dùng access control list để kiểm soát quyền file tinh vi hơn.