Tìm hiểu về quyền của tập tin: “Chmod 777” có nghĩa là gì?
Nếu bạn là người dùng Linux hoặc quản trị viên web quản lý trang web của riêng bạn (có thể được lưu trữ trên máy chủ Linux), bạn chắc chắn sẽ gặp phải tình huống khi bạn cố tải lên tệp hoặc sửa đổi tài liệu và nhận lỗi “ Bạn làm không có quyền tải tệp lên thư mục “. Và sau khi một số googling, giải pháp thường dễ dàng như thiết lập quyền tập tin để "775" hoặc "777". Vậy “777” có nghĩa là gì? Và tại sao nó phải là '7', chứ không phải '8' hay '9'?
Liên quan : Làm thế nào để đổi tên tập tin trong Linux
Hiểu quyền của tệp
Các hệ thống Unix (bao gồm cả Linux và Mac OS X) đi kèm với một cơ chế kiểm soát tệp để xác định ai có thể truy cập một tệp hoặc thư mục cụ thể và những hành động nào họ có thể thực hiện với nó. Có hai phần trong cơ chế kiểm soát tệp, cụ thể là Lớp và Quyền . Các lớp xác định ai có thể truy cập tệp trong khi Quyền xác định loại hành động mà người dùng có thể thực hiện đối với tệp.
Có ba lớp học - chủ sở hữu, nhóm, những người khác.
- Chủ sở hữu thường là tác giả của các tệp / thư mục. Trong Linux, các tệp hoặc thư mục mà bạn đã tạo trong thư mục Nhà của bạn thường do bạn sở hữu, trừ khi bạn thay đổi cụ thể quyền sở hữu.
- Nhóm này chứa một nhóm người dùng có cùng quyền và đặc quyền người dùng.
- Những người khác có nghĩa là công chúng.
Đối với quyền, có 3 loại hành động mà bạn có thể thực hiện trên một tệp / thư mục. Bạn có thể đọc, viết hoặc thực thi .
- Đọc - Bạn chỉ có thể xem tệp, nhưng không thể sửa đổi nội dung của tệp. Khi được áp dụng trên Thư mục, bạn chỉ có thể xem các tệp trong thư mục, nhưng bạn không thể xóa hoặc thêm tệp vào thư mục.
- Viết - Bạn có thể chỉnh sửa và sửa đổi tập tin. Đối với thư mục, bạn có thể xóa và thêm tệp vào thư mục.
- Thực thi - Thực hiện chủ yếu được sử dụng khi bạn cần chạy tệp (thường được sử dụng khi bạn cần chạy tập lệnh).
Khi bạn kết hợp các Lớp và Quyền, bạn sẽ có thể kiểm soát ai có thể truy cập tệp và những hành động nào họ có thể thực hiện với nó.
Ví dụ, chủ sở hữu thường sẽ có tất cả các quyền (đọc, viết và thực thi) để truy cập tệp. Nếu bạn không phải là chủ sở hữu của tệp / thư mục, bạn phải thay đổi Quyền sở hữu của tệp thành tên của bạn hoặc thay đổi quyền của Nhóm hoặc những người khác để đọc, viết hoặc thực hiện. Trong máy chủ web, nếu bạn không thể tải tệp lên, có thể do bạn không phải là chủ sở hữu của thư mục đích hoặc bạn không được cấp đủ quyền để thêm tệp vào thư mục.
Có gì về con số?
Với sự hiểu biết cơ bản về các lớp và quyền, chúng ta hãy nghiên cứu kỹ hơn và xem cách “777” hoặc “775” xuất hiện.
Mỗi tệp và thư mục chứa dữ liệu 8 bit kiểm soát quyền. Ở dạng nhị phân cơ bản của nó, nó sẽ là "000", có nghĩa là không có quyền của bất kỳ hình thức nào được cấp. Khi bạn đặt quyền “Đọc”, nó sẽ thêm 4 bit vào dữ liệu, làm cho dữ liệu “100” (ở định dạng nhị phân) hoặc “4” ở định dạng thập phân thông thường. Đặt quyền “Ghi” sẽ thêm 2 bit vào dữ liệu, làm cho dữ liệu “010” và “2” ở dạng thập phân. Cuối cùng, thiết lập quyền “Thực thi” sẽ thêm 1 bit vào dữ liệu, điều này sẽ dẫn đến “001” hoặc “1” ở dạng thập phân. Nói ngắn gọn:
- Đọc tương đương với '4'.
- Viết tương đương với '2'.
- Thực thi tương đương với '1'
Khi chúng tôi muốn đặt quyền, chúng tôi chỉ thêm số. Ví dụ: để đặt quyền đọc và ghi, chúng tôi sẽ sử dụng '6' (4 + 2) cho quyền. Để đọc, viết và thực hiện, chúng tôi sẽ sử dụng '7' (4 + 2 + 1) cho phép. Đây là hoán vị khác nhau:
0 - không được phép
1 - thi hành
2 - viết
3 - viết và thực thi
4 - đọc
5 - đọc và thực thi
6 - đọc và viết
7 - đọc, viết và thực thi
Tùy thuộc vào quyền bạn muốn cấp cho tệp, bạn chỉ cần đặt số tương ứng.
Còn 777 chữ số 3 thì sao? Vâng, chữ số đầu tiên được gán cho Chủ sở hữu, chữ số thứ hai được gán cho Nhóm và chữ số thứ ba được gán cho Người khác. Vì vậy, đối với một tập tin có quyền '777', mọi người có thể đọc, ghi và thực thi tệp. Dưới đây là một số quyền phổ biến được sử dụng:
- 755 - Bộ quyền này thường được sử dụng trong máy chủ web. Chủ sở hữu có tất cả các quyền để đọc, viết và thực thi. Mọi người khác chỉ có thể đọc và thực thi, nhưng không thể thực hiện thay đổi đối với tệp.
- 777 - Mọi người đều có thể đọc và viết. Trong một máy chủ web, không nên đặt quyền '777' cho tệp và thư mục của bạn vì nó cho phép bất kỳ ai thêm mã độc vào máy chủ của bạn. Tuy nhiên, trong một số trường hợp, bạn sẽ cần phải đặt quyền 777 trước khi bạn có thể tải bất kỳ tệp nào lên máy chủ (Ví dụ: tải lên hình ảnh trong WordPress)
- 644 - Chỉ chủ sở hữu mới có thể đọc và viết. Mọi người khác chỉ có thể đọc. Không ai có thể thực thi tệp.
- 655 - Chỉ chủ sở hữu mới có thể đọc và ghi, nhưng không thực thi tệp. Mọi người khác có thể đọc và thực hiện, nhưng không thể sửa đổi tệp.
Đặt quyền tệp trong dòng lệnh
Trong Linux, bạn có thể dễ dàng thay đổi quyền truy cập tệp bằng cách nhấp chuột phải vào tệp hoặc thư mục và chọn “Thuộc tính”. Sẽ có một tab Quyền mà bạn có thể thay đổi quyền truy cập tệp. Trong terminal, lệnh sử dụng để thay đổi quyền của tập tin là “ chmod
”. Trong ngắn hạn, "chmod 777" có nghĩa là làm cho các tập tin có thể đọc được, ghi và thực thi bởi tất cả mọi người.
chmod 775 / path / to / file
Hy vọng rằng, bài viết này có thể giúp bạn hiểu rõ hơn về quyền truy cập tập tin trong hệ thống Unix và nguồn gốc của số ma thuật “777”.
Trở thành một chuyên gia tại Linux với gói này
Linux là hệ điều hành của các lập trình viên và chuyên viên máy tính do sức mạnh tính toán tuyệt đối của nó và khả năng tùy biến đáng kinh ngạc. Nhưng điều đó cũng khiến việc tìm hiểu các dây giềng của Linux trở nên khó khăn hơn, đó là lý do tại sao bạn nên đầu tư vào Gói Linux Power User. Yêu cầu hoàn toàn không có kiến thức trước đây, gói khóa học này sẽ dạy cho bạn từ đầu để trở thành một chuyên gia về việc sử dụng Linux. Trong một thời gian giới hạn, nó có thể là của bạn chỉ với $ 19.