Computer >> Máy Tính >  >> Hệ thống >> Linux

Cách thay đổi đệ quy quyền đối với tệp trong Linux

Cách thay đổi đệ quy quyền đối với tệp trong Linux

Bởi vì Linux là một hệ điều hành nhiều người dùng, nó có một cơ chế thiết lập và quản lý các quyền đối với tệp để đảm bảo rằng chỉ các quy trình được ủy quyền và người dùng mới có thể truy cập vào các thư mục và tệp khác nhau. Khi sử dụng Linux, bạn có thể gặp nhiều trường hợp khác nhau trong đó bạn không thể chỉnh sửa tệp hoặc thư mục do lỗi "Quyền bị từ chối", cho thấy bạn không có các đặc quyền cần thiết. Hướng dẫn này sẽ chỉ cho bạn cách thay đổi đệ quy quyền đối với tệp trong Linux để đảm bảo rằng cài đặt quyền của bạn áp dụng cho các thư mục con và tệp.

Cách kiểm tra (các) quyền đối với tệp trong Linux

Khi lỗi "quyền bị từ chối" xảy ra trên một tệp hoặc thao tác thư mục, hãy bắt đầu bằng cách kiểm tra các quyền đã cấp cho người dùng, nhóm và những người khác.

Để làm điều đó, bạn có thể sử dụng ls -l yêu cầu. Ví dụ:sau đây là quyền đối với các tệp và thư mục khác nhau trong thư mục “/ var”.

Cách thay đổi đệ quy quyền đối với tệp trong Linux

Đầu ra ở trên chứa thông tin cụ thể.

  1. Cột đầu tiên đại diện cho các quyền đối với tệp và thư mục. Chữ cái đầu tiên trong cột này cho biết loại:d nghĩa là thư mục, l là viết tắt của một liên kết tượng trưng và - một tệp thông thường.
  2. Chín ký tự khác được nhóm thành ba bộ:u người dùng, g nhóm và o chủ sở hữu cho biết quyền đối với tệp hoặc thư mục. r cho biết quyền “đọc”, w cho biết quyền “ghi” và X cho biết quyền "thực thi".
Cách thay đổi đệ quy quyền đối với tệp trong Linux

Khi bạn biết các quyền đối với tệp của thư mục hoặc tệp đang làm việc của mình, bạn có thể thay đổi chúng một cách dễ dàng.

Cách sử dụng chmod để thay đổi quyền đối với tệp

chmod lệnh là cách dễ nhất để thay đổi quyền đối với tệp trong Linux. Cú pháp chung cho lệnh là:

chmod {permission}{operator}{mode}
  • Quyền:Điều này thể hiện các quyền được cấp cho người dùng, nhóm, chủ sở hữu hoặc tất cả.
  • Nhà điều hành:điều này cho biết các quyền được cấp cho người được chuyển nhượng quyền:+ cấp quyền, - từ chối quyền và = chỉ định các quyền cần đặt.
  • Chế độ:chế độ này cho biết quyền nào cần đặt:r đọc, w ghi hoặc x thực thi.

Để biết thêm thông tin về chmod và nó hoạt động như thế nào, hãy xem bài viết này.

Ví dụ:để từ chối mọi người ghi quyền truy cập vào thư mục sao lưu trong thư mục “/ var”, bạn có thể sử dụng lệnh:

 sudo chmod -w /var/backups

Mặc dù thay đổi quyền đối với tệp bằng chmod lệnh có hiệu lực, nó chỉ thay đổi quyền tệp đối với thư mục hoặc tệp được chỉ định.

May mắn thay, bạn có thể thay đổi một cách đệ quy các quyền đối với tệp của một thư mục hoặc tệp và các thư mục con và tệp của nó. Để làm điều đó, hãy sử dụng lệnh chmod đệ quy -r tùy chọn.

Ví dụ:hãy xóa một cách đệ quy read quyền đối với thư mục “/ var / backup” và tất cả các tệp và thư mục con của nó. Các quyền hiện tại là:

drwxrwxrwx  2 root root   4096 Jul 15 06:25 backups

Bây giờ chúng ta hãy chạy chmod đệ quy để thay đổi quyền:

sudo chmod –r -r /var/backups

Bây giờ bạn có thể thấy rằng các quyền đối với tệp đã thay đổi.

Cách thay đổi đệ quy quyền đối với tệp trong Linux

Quyền thay đổi đệ quy với find

Thông thường, bạn sẽ không thiết lập các tệp và thư mục có quyền tương tự. Điều này là do bạn cần quyền thực thi để cd vào một thư mục cụ thể. Tuy nhiên, hầu hết các tệp không yêu cầu quyền thực thi này.

Để khắc phục điều này, bạn có thể sử dụng find tiện ích trong Linux. Điều này cho phép bạn chỉ tìm các tệp hoặc thư mục cụ thể và đặt quyền đối với chúng.

Để biết thêm thông tin về cách sử dụng Tìm trong Linux, hãy xem bài viết này.

Hãy để chúng tôi lấy thư mục “/ var / log”. Thư mục chứa cả tệp và thư mục.

Cách thay đổi đệ quy quyền đối với tệp trong Linux

Để chỉ đặt các quyền cụ thể cho các tệp, chúng ta có thể sử dụng lệnh find với -type f tùy chọn.

Xem một lệnh ví dụ bên dưới:

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

Trong ví dụ trên, chúng tôi đã sử dụng lệnh find để tìm kiếm tệp trong thư mục “/ var / log”, sau đó đặt quyền đọc, ghi và thực thi cho người dùng, nhóm và tất cả.

Chúng ta cũng có thể làm trường hợp tương tự cho các thư mục. Trong trường hợp này, chúng tôi chỉ định -type d để chỉ nhận được các thư mục.

Ví dụ:

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

Trong ví dụ trên, chúng tôi chỉ đặt quyền 755 cho các thư mục chứ không phải cả tệp và thư mục.

Bạn có thể xác minh điều này bằng cách sử dụng ls -la lệnh.

Cách thay đổi đệ quy quyền đối với tệp trong Linux

Bạn sẽ nhận thấy rằng tất cả các tệp có quyền 777, trong khi các thư mục có quyền 755.

Đang kết thúc

Biết cách thay đổi quyền đối với tệp trong Linux là một kỹ năng cần thiết, vì nó giúp ngăn chặn việc truy cập và sửa đổi trái phép đối với các tệp và thư mục khác nhau. Trong khi đó, bạn cũng có thể thay đổi quyền sở hữu tệp để hạn chế quyền truy cập tệp hoặc sử dụng danh sách điều khiển truy cập am để kiểm soát tốt hơn quyền đối với tệp trong Linux.