Lệnh cấp phép cho thư mục linux 777. Lệnh chmod - Ví dụ sử dụng. Cú pháp Chmod cho nhóm người dùng

Trong các hệ điều hành thuộc họ Unix, làm việc với hệ thống tệp yêu cầu thay đổi và thiết lập quyền truy cập đối với một số loại dữ liệu nhất định. Các biện pháp như vậy giúp giảm nguy cơ sử dụng hoặc xem trái phép hệ thống và các thông tin quan trọng khác để máy chủ hoạt động chính xác. Tuy nhiên, việc sử dụng chức năng bảo vệ như vậy chỉ có ý nghĩa đối với các hệ điều hành nhiều người dùng. Nếu không, việc cài đặt nó sẽ lãng phí thời gian. không hạn này có nghĩa là gì? Trong bất kỳ hệ điều hành nào dành cho các nhóm người dùng khác nhau sử dụng đều có một yếu tố hạn chế. Phần tử này được người quản trị hệ thống chỉ định. Nó quy định các khả năng và quy trình làm việc với thư mục dưới sự kiểm soát của nó đối với tất cả các loại người dùng: chủ sở hữu tệp, người dùng trong nhóm chủ sở hữu, cũng như những người khác có quyền truy cập vào máy chủ thông qua trình duyệt web.

Quyền truy cập

Thuộc tính 777 cho phép tất cả các loại người dùng trên đọc, chạy, ghi đè và tạo tệp trong thư mục. Thuộc tính này chỉ tồn tại trên nền tảng Linux. Tính năng này cung cấp đầy đủ khả năng tương tác với thông tin. Thật không may, nó vẫn còn cách xa những ý tưởng hiện có về bảo mật.

Quyền 777: đặt số

Trong hệ điều hành Unix, quyền của nhóm được viết trên một dòng, bao gồm ba số. Mỗi dòng này biểu thị quyền của một trong các loại người dùng. Điều này có nghĩa là tổ hợp số là một tổng số học: (1) (thực thi), 2 (ghi), 4 (đọc). Sự kết hợp số mô tả các khả năng mà chức năng này cung cấp.

Làm cách nào tôi có thể đặt quyền thành 777?

Việc thiết lập thuộc tính này, biết cách giải mã ký hiệu số của nó, sẽ không khó. Để thực hiện việc này, người dùng sẽ cần bất kỳ trình quản lý tệp nào hỗ trợ kết nối FTP đến máy chủ, có thể đăng nhập với tư cách quản trị viên. Câu trả lời cho câu hỏi đặt quyền 777 trên một thư mục hoàn toàn không khác gì hướng dẫn cho một tập tin. Trên máy chủ, bạn cần chọn đối tượng mong muốn và gọi menu ngữ cảnh bằng cách nhấp chuột phải. Sau đó, bạn cần chọn “Tệp” và sau đó “Thay đổi thuộc tính”. Trong cửa sổ trình quản lý mở ra, bạn cần nhập tổ hợp các số và chọn các hộp bên cạnh mỗi nhóm người dùng. Ngoài ra còn có một phương pháp dễ dàng hơn cho hệ thống máy chủ Unix. Nó chỉ yêu cầu nhập lệnh ở định dạng chmod 777 %filename% trong bảng điều khiển của máy chủ.

Máy chủ nhiều người chơi

Điều quan trọng cần nhớ là quyền 777 chỉ tồn tại đối với các tệp được đặt trực tiếp trên máy chủ nhiều người dùng và không được cài đặt trên một máy tính riêng biệt. Cũng có thể đặt các quyền này cho danh mục. Trong trường hợp này, hoạt động của các tham số được chỉ định sẽ hoàn toàn giống như đối với thư mục. Điểm khác biệt duy nhất là thay vì đọc các đối tượng bên trong, người dùng sẽ có thể xem danh sách tất cả nội dung. Để đặt quyền thư mục, bạn phải sử dụng các phương pháp được mô tả ở trên. Bạn cũng nên nhớ rằng bạn không thể đặt loại quyền truy cập này cho gói Denver, vì nó mô phỏng hoạt động của một dịch vụ web mạng, nhưng trên thực tế, nó không phải là một dịch vụ hoạt động trên nền tảng Windows. Hệ điều hành này không phải là loại máy chủ, vì vậy khi cài đặt tập lệnh trên Denver, bạn chỉ cần bỏ qua yêu cầu thay đổi quyền truy cập.

Toàn quyền kiểm soát: Nhược điểm

Hệ thống máy chủ khá hiếm khi sử dụng quyền 777. Thông thường, hầu hết các máy chủ lưu trữ đều tuân thủ các quyền như 755. Chúng khác nhau ở các chức năng được giảm nhẹ một chút cho tất cả người dùng ngoại trừ chủ sở hữu. Những quyền như vậy từ chối tất cả những người dùng khác khả năng tạo và ghi tệp. Nếu bạn cố gắng đặt quyền cung cấp quyền truy cập đầy đủ vào tất cả nội dung trên máy chủ thì tính bảo mật của tài nguyên có thể bị xâm phạm. Những kẻ tấn công sẽ không bỏ lỡ cơ hội lợi dụng lỗ hổng nghiêm trọng như vậy trong hệ thống bảo mật thông tin. Cài đặt truy cập được định cấu hình không chính xác sẽ cung cấp cho bất kỳ người dùng nào quyền tự do hành động hoàn toàn. Vì vậy, không chỉ những bên quan tâm mà ngay cả những người dùng thiếu kinh nghiệm cũng có thể làm gián đoạn hoạt động của máy chủ. Do đó, trước khi đặt quyền truy cập thành 777, bạn nên suy nghĩ kỹ xem liệu những hành động đó có dẫn đến việc hack tài nguyên thông tin hay không.

Hôm nay tôi muốn nói về quyền truy cập vào các tập tin và thư mục (đọc). Khái niệm này xuất hiện trong thế giới quản trị trang web từ các hệ thống giống Linux (Unix) mà hầu hết các dịch vụ lưu trữ đều hoạt động trên đó.

Và bản thân cái tên Chmod chính là tên của một chương trình trong Linux cho phép bạn gán quyền truy cập cho nhiều đối tượng khác nhau. Và vì trang web của bạn được cài đặt trên máy chủ chạy Linux (Unix) thuộc biến thể này hay biến thể khác, nên việc làm việc với các đối tượng trên trang web của bạn sẽ phải tuân theo các quy tắc do hệ điều hành Linux (Unix) thiết lập.

Trong Windows, hầu như tất cả các tệp đều được đặt ở mức quyền tối đa, trên thực tế, điều này dẫn đến sự thống trị trên máy tính của chúng ta và do đó, ngăn chủ sở hữu của các công ty chống vi-rút chết đói. Trong các hệ thống Linux (Unix), tình hình lại khác - mọi thứ phức tạp hơn nhưng đồng thời an toàn hơn. Nếu bạn định cấu hình mọi thứ một cách chính xác và thành thạo, bạn có thể tăng đáng kể tính bảo mật cho trang web của mình.

Khái niệm cơ bản về quyền truy cập vào tập tin và thư mục

Nếu bạn để mọi việc tùy cơ ứng biến và không bận tâm đến việc thiết lập các đặc quyền cần thiết thì khả năng tài nguyên của bạn bị hack hoặc nhiễm mã độc sẽ rất cao. Sẽ tốt nếu bạn thực hiện tất cả dữ liệu của mình, nhưng nếu không thì sao?!

Vì vậy, tốt hơn hết là bạn nên cấu hình và thay đổi Chmod ngay lập tức, không chậm trễ cho tất cả các đối tượng quan trọng trong động cơ của mình, dựa trên nguyên tắc tối giản. Những thứ kia. cung cấp cho đối tượng các quyền tối thiểu cần thiết để trang web hoạt động chính xác.

Trước tiên chúng ta hãy hiểu bản chất của vấn đề để hiểu chính xác những gì chúng ta đang thiết lập và làm thế nào. Vậy hãy bắt đầu. Quyền truy cập được phân tách cho các tập tin và thư mục. Chúng được chỉ định giống nhau, nhưng có nghĩa là những thứ hơi khác nhau.

Đổi lại, liên quan đến các tập tin có thể:

  • r - quyền đọc dữ liệu.
  • w - để thay đổi nội dung (ghi - chỉ thay đổi nội dung chứ không xóa).
  • x - để thực thi tập tin.

Chúng ta hãy xem xét kỹ hơn khả năng thực thi tập tin. Thực tế là trong Linux, bất kỳ tệp nào cũng có thể được thực thi. Việc nó có thể thực thi được hay không được xác định không phải bởi phần mở rộng của nó (khái niệm về phần mở rộng không có trong hệ thống tệp Unix), mà bởi quyền truy cập Chmod. Nếu một tập tin có quyền thực thi được đặt là “X”, điều này có nghĩa là nó có thể được thực thi.

Liên quan đến các thư mục có thể:

  1. r - quyền đọc thư mục (bạn có thể đọc nội dung của thư mục, tức là lấy danh sách các đối tượng nằm trong đó)
  2. w - để thay đổi nội dung của thư mục (bạn có thể tạo và xóa các đối tượng trong đó và nếu bạn có quyền ghi, bạn thậm chí có thể xóa các tệp không thuộc về mình)
  3. x - để vào một thư mục (nó luôn được kiểm tra trước và ngay cả khi bạn có tất cả các đặc quyền cần thiết đối với một đối tượng nằm sâu trong chuỗi thư mục nhưng không có thuộc tính “X” để truy cập ít nhất một thư mục trên đường dẫn đến tập tin đó, thì bạn sẽ không bao giờ hiểu được nó)

Trong các hệ thống Linux, tất cả những thứ này được phân phối bởi quản trị viên chính của máy tính, người này có quyền truy cập bằng cách nhập mật khẩu. Và nếu hầu hết các đối tượng đều có quyền chỉ đọc thì virus sẽ thực tế không có tác dụng gì trên một máy tính như vậy, bởi vì chúng sẽ không thể tự viết vào đó và sau đó sẽ không được hoàn thành. Đây chính xác là kết quả mà chúng tôi cần đạt được bằng cách đặt Chmod cần thiết trên các đối tượng trên trang web của chúng tôi.

Đặc quyền cho nhóm người dùng

Bản thân các đặc quyền được chia thành ba loại tùy thuộc vào người đang truy cập đối tượng:

  • “người dùng” - u (trực tiếp là chủ sở hữu của tập tin)
  • "group" - g (thành viên cùng nhóm với chủ sở hữu)
  • "thế giới" - o (tất cả những người khác)

Máy chủ xác định nhóm người dùng nào sẽ chỉ định bạn khi bạn kết nối với máy chủ. Ví dụ: khi bạn kết nối với máy chủ qua FTP, bạn đăng nhập bằng tên người dùng (và mật khẩu) của mình, sau đó máy chủ sẽ chỉ định bạn vào nhóm “người dùng” (“u)”.

Những người dùng khác cũng kết nối qua FTP với máy chủ sẽ được chỉ định vào nhóm “group” (“g”) và khách truy cập vào trang web của bạn bằng trình duyệt của họ sẽ được chỉ định vào nhóm “world” (“o”) .

Các biến thể của ba giá trị có thể có "r", "w" và "x" cho ba loại "u", "g" và "o" và xác định Chmod cho tập tin. Nếu danh mục không được chỉ định, nó sẽ được thay thế bằng dấu gạch nối “-”. Các đặc quyền được chỉ định tuần tự theo thứ tự nhất định:

  1. đầu tiên là quyền của chủ sở hữu - “u”
  2. sau đó cho nhóm - “g”
  3. và cuối cùng - đối với những người khác - “o”

Sau khi máy chủ chỉ định một khách truy cập vào một nhóm nhất định, nó sẽ cấp cho anh ta quyền hành động trên các đối tượng, sau đó khách truy cập sẽ có thể đọc, ghi hoặc thực thi tệp (tùy thuộc vào nhóm của anh ta được phép làm gì với đối tượng này) .

Để xem nội dung của một thư mục, nó phải có thuộc tính đọc “r” (đối với nhóm mà máy chủ đã chỉ định cho khách truy cập). Để tạo một tệp hoặc thư mục trong một tệp hiện có, thư mục hiện có này phải có thuộc tính cho mục nhập “w”.

Để rõ ràng hơn, chúng ta hãy xem một ví dụ trong đó chủ sở hữu của tệp (“người dùng” - “u”) có tất cả các quyền: đọc, ghi vào đó và thực thi, còn tất cả những người dùng khác chỉ có đặc quyền đọc. Mục nhập cho Chmod như vậy sẽ có dạng như sau: “rwx r-- r--”.

Chúng ta hãy xem xét nó một cách chi tiết: "rwx" (bản ghi này chỉ định các quyền đối với đối tượng cho chủ sở hữu - "u"), "r--" (bản ghi này chỉ định các quyền đối với cùng một đối tượng, nhưng nếu khách truy cập được chỉ định tới một nhóm bởi máy chủ - " g"), "r--" (mục này đặt các đặc quyền trên đối tượng cho tất cả người dùng khác - "o").

Sự khác biệt giữa quyền tập tin và thư mục là gì?

Hóa ra có ba nhóm người dùng và ba hành động có thể thực hiện được với các đối tượng. Bạn bối rối chưa? Hãy đặt mọi thứ đã nói ở trên lên kệ dưới dạng máy tính bảng. Trước tiên, chúng ta hãy xem chúng khác nhau như thế nào:

Và cũng có một bảng hiển thị các kết hợp Chmod khác nhau cho các loại đối tượng khác nhau:

Không có gì có thể được thực hiện

Truy cập vào thư mục và các thư mục con của nó bị từ chối

Có thể xem và thay đổi nội dung

Bạn có thể thêm, xóa, thay đổi tập tin thư mục

Thực thi nếu tập tin là nhị phân

Người dùng có thể thực thi một tệp nhị phân mà anh ta biết là tồn tại nhưng không được phép vào hoặc đọc thư mục

Chmod thể hiện bằng số (777, 400, 666, 755, 444)

Bạn có thể thấy rằng ở đây chúng tôi sử dụng các mục sử dụng chữ cái Latinh và dấu gạch nối để mô tả quyền truy cập, nhưng có thể bạn đã gặp phải thực tế là Chmod thường được chỉ định bằng kỹ thuật số, ví dụ: sự kết hợp nổi tiếng: 777, cho phép mọi thứ đối với mọi người.

Thật vậy, các đặc quyền cũng được biểu thị bằng các con số:

  1. r (đọc) được thay thế bằng 4
  2. w (bản ghi) được thay thế bằng 2
  3. x (thực thi) được thay thế bằng 1
  4. 0 có nghĩa là không làm gì cả (được biểu thị bằng dấu gạch nối trong ký hiệu chữ cái)

Hãy quay lại ví dụ ghi âm mà tôi đã đưa ra trước đó một chút: rwx r-- r-- . Nếu chúng ta thay thế các chữ cái và dấu gạch nối bằng các số trong đó, theo quy tắc vừa mô tả, đồng thời cộng các số trong mỗi bộ ba, chúng ta sẽ có dạng kỹ thuật số của mục này: 744.

Những thứ kia. Hóa ra tổng của những con số này hiển thị Chmod liên quan đến các tệp hoặc thư mục. Ví dụ:

  • 7 (rwx) = 4 + 2 +1 (toàn quyền)
  • 5 (r-x)= 4 + 0 + 1 (đọc và thực thi)
  • 6 (rw-) = 4 + 2 + 0 (đọc và viết)
  • 4 (r--) =4 + 0 + 0 (chỉ đọc)
  • vân vân.

Bảng này hiển thị tất cả các kết hợp đặc quyền có thể được ghi lại bằng kỹ thuật số:

Bây giờ chúng ta hãy xem xét các kết hợp khác nhau của các ký hiệu bằng số liên quan đến các nhóm người dùng:

"Người sở hữu"

"Nhóm"

"Nghỉ ngơi"

trình diễn

trình diễn

trình diễn

Bản thân bạn (ngoại trừ trường hợp bạn truy cập trang web qua FTP) và tất cả những khách truy cập khác vào tài nguyên của bạn đều thuộc nhóm “word” (những người khác), vì vậy để làm việc với trang web, trước tiên chúng ta cần xem xét phần cuối cùng (thứ ba). ) chữ số của mục này.

Để một tệp tập lệnh được "khởi chạy" khi người dùng làm việc với một trang web, chỉ cần đặt quyền đối với tệp đó là đủ, bắt đầu từ "4" (r-- – chỉ đọc) (5,6,7 cũng sẽ làm được, nhưng điều này sẽ dư thừa về mặt bảo mật).

Đối với thư mục chứa tệp của tập lệnh này, bạn cần đặt mức tối thiểu là “5” (r-x - bạn có thể vào thư mục và đọc nội dung của nó, bạn không thể xóa hoặc thêm). 7 cũng sẽ hoạt động nhưng sẽ dư thừa về mặt bảo mật.

Nếu bạn cần tập lệnh không chỉ đọc mà còn "ghi" một số dữ liệu (ví dụ: do khách truy cập nhập), thì quyền tối thiểu đối với "thư mục" sẽ vẫn là "5", nhưng đối với "tệp" bạn sẽ cần số “6” (đọc và viết).

Rất có thể, trên máy chủ nơi bạn sao chép nội dung của công cụ trang web, các Chmod sau sẽ được cài đặt trên các đối tượng:

Nếu bạn có một tài nguyên chỉ bao gồm các trang html thì bạn có thể để mọi thứ như vậy. Nhưng các trang web hiện đại được xây dựng trên công cụ và có thể có những đối tượng cần được viết thay mặt cho khách truy cập từ nhóm “thế giới” - o (tất cả những đối tượng khác). Đây có thể là các thư mục được sử dụng cho các trang lưu vào bộ đệm hoặc những thư mục chứa hình ảnh, v.v. sẽ được tải khi bạn làm việc với trang web.

Không cần phải nói rằng nếu bạn truy cập trang web qua FTP, bạn có thể ghi vào các tệp hoặc thư mục này, nhưng khi làm việc với giao diện web với tư cách là người dùng thông thường, bạn có thể gặp vấn đề. Vì vậy, việc thiết lập một số quyền nhất định phải được tiếp cận một cách có chọn lọc:

cho tất cả các thư mục cần ghi tập tin vào đó nhưng không cần phải xóa thường xuyên

đối với các thư mục trong đó các tập tin sẽ được ghi và xóa (ví dụ: đối với bộ đệm)

đối với các tệp chỉ đọc đơn giản (.html, .php, v.v.)

đối với các tệp có thể cần được ghi vào (ví dụ: với cơ sở dữ liệu .dat)

Cách gán Chmod bằng PHP

Làm thế nào tất cả điều này có thể được thực hiện trong thực tế cho trang web của bạn? Về nguyên tắc, mọi thứ đều đơn giản. Để chỉ định quyền truy cập, bạn có thể:

Nhưng nếu bạn không thể thay đổi Chmod thành bất kỳ tệp nào thì bạn có thể thử gán chúng bằng các công cụ PHP. Bạn có thể sử dụng đoạn mã sau:

Bạn sẽ cần thay thế file_name_x.php và folder_name_x bằng tên thực của các tệp và thư mục mà bạn muốn thay đổi mod. Theo đó, đối với các tệp, nó sẽ được đặt thành 666 và đối với các thư mục - 777. Đặt mã PHP này vào một tệp bằng bất kỳ sổ ghi chú văn bản nào (tôi khuyên dùng) và đặt cho nó phần mở rộng .php, chẳng hạn như prava.php.

Sao chép prava.php qua FTP vào thư mục không thể gán quyền truy cập bằng các phương tiện tiêu chuẩn. Trong thanh địa chỉ của trình duyệt, hãy viết đường dẫn đến prava..php) và nhấn “Bắt đầu” hoặc nhập trên bàn phím. Vậy là xong, bây giờ các đặc quyền sẽ được thay đổi hoàn toàn bằng cách sử dụng PHP.

Đối với Joomla, ngay sau khi cài đặt, bạn có thể đặt 777 vào các thư mục sau:

Quản trị viên/sao lưu/quản trị viên/bộ đệm/quản trị viên/thành phần/quản trị viên/mô-đun/quản trị viên/mẫu/cache/thành phần/hình ảnh/hình ảnh/banners/hình ảnh/câu chuyện/ngôn ngữ/ngôn ngữ/en-GB/ngôn ngữ/ru-RU/media/ mô-đun/plugin/plugin/nội dung/plugin/tìm kiếm/plugin/hệ thống/ mẫu/

Sau khi bạn cài đặt tất cả các tiện ích mở rộng cho Joomla và thực hiện các cài đặt cuối cùng, hãy Chmod vào hầu hết các thư mục trên để tăng tính bảo mật cho trang web quay lại 755. Bạn sẽ cần để lại 777 cho các thư mục có bộ đệm, bản sao lưu và hình ảnh.

Đối với các tệp công cụ nằm ở thư mục gốc của trang web, ngoại trừ sitemap.xml, tốt hơn nên đặt 444 (chỉ đọc cho tất cả các nhóm khách truy cập). Trên setting.php, đôi khi người ta khuyên bạn nên đặt nó thành 400.

Tôi có thể đưa ra lời khuyên tương tự về việc thiết lập quyền truy cập vào các đối tượng trong công cụ SMF và WordPress. Nếu có thể, nên để nó vĩnh viễn. cho thư mục 755(ngoại trừ bộ đệm, hình ảnh, thư mục sao lưu được đề cập ở trên và có thể một số thư mục khác nếu cần) và cho các tập tin - 644.

Tốt hơn là đặt 444 cho các tệp trong thư mục gốc của trang web.

Nếu khi làm việc với một trang web, vấn đề phát sinh là không thể ghi cài đặt vào một số tệp hoặc không thể tạo một loại thư mục nào đó, thì bạn có thể tạm thời đặt các quyền lớn hơn cho chúng (ví dụ: 777), sau đó trả lại mọi thứ trở lại (để được an toàn). Và trong mọi trường hợp không nên để lại(để dễ dàng làm việc với trang web) Chmod bị thổi phồng một cách vô lý.

Chúc bạn may mắn! Hẹn gặp lại bạn sớm trên các trang của trang blog

Bạn có thể quan tâm

Mã hóa văn bản ASCII (Windows 1251, CP866, KOI8-R) và Unicode (UTF 8, 16, 32) - cách khắc phục sự cố với cracker
OpenServer - một máy chủ cục bộ hiện đại và một ví dụ về cách sử dụng nó để cài đặt WordPress trên máy tính
Địa chỉ URL là gì, liên kết tuyệt đối và tương đối của một trang web khác nhau như thế nào?
Tìm kiếm Yandex theo trang web và cửa hàng trực tuyến
Sơ đồ trang web Sơ đồ trang web ở định dạng xml cho Yandex và Google - cách tạo sơ đồ trang web trong Joomla và WordPress hoặc trong trình tạo trực tuyến

(Giá trị ban đầu của quyền truy cập tệp là rwxrwxrwx - quyền truy cập đầy đủ cho mọi người) Xóa quyền thực thi tệp cho tất cả người dùng và nhóm:

$chmod tập tin a-x (rw-rw-rw-)

Để hủy việc ghi vào tệp của một nhóm và những người dùng khác:

$ chmod go-w tập tin (rw-r–r–)

Quyền thực thi một tập tin của chủ sở hữu:

$ chmod u+x tập tin (rwxr–r–)

Cấp cho nhóm các quyền giống như chủ sở hữu tệp:

$ chmod g=u tệp (rwxrwxr–)

Hủy việc đọc và ghi vào tệp của người dùng nhóm và người dùng khác:

$ chmod tập tin go-rw (rwx–x-)

Ví dụ về cách sử dụng lệnh chmod ở chế độ tuyệt đối

Quyền đọc, ghi, thực thi tệp tệp của tất cả người dùng và nhóm (toàn quyền kiểm soát):

$chmod 777 file (rwxrwxrwx)

Đặt quyền đọc và ghi cho chủ sở hữu, nhóm và những người dùng khác:

$chmod 666 file (rw-rw-rw-)

Đặt quyền truy cập tệp đầy đủ cho chủ sở hữu và chỉ đọc cho nhóm và những người dùng khác:

$ tập tin chmod 744 (rwxr–r–)

Đặt quyền truy cập đầy đủ vào tệp cho chủ sở hữu tệp và từ chối quyền truy cập vào nhóm và những người dùng khác:

$ tập tin chmod 700 (rwx--)

Đặt quyền đọc và ghi cho chủ sở hữu tệp và chỉ đọc cho nhóm và những người khác:

$ tập tin chmod 644 (rw-r–r–)

Đặt quyền đọc và ghi cho chủ sở hữu tệp và nhóm của anh ta và từ chối quyền truy cập của người khác:

$ tập tin chmod 640 (rw-r-–)

Đặt quyền truy cập tệp có quyền đọc cho tất cả người dùng và nhóm:

$ tập tin chmod 444 (r–r–r–)

Quyền đọc, ghi, thực thi của chủ sở hữu và đọc, thực thi theo nhóm và những người khác:

$chmod 755 file (rwxr-xr-x)

Cho phép đọc và thực thi quyền truy cập vào tệp cho người dùng và những người khác và từ chối quyền truy cập vào một nhóm:

$chmod 505 file (r-x-r-x)

Nếu bạn muốn gán quyền cho tất cả các file trong thư mục hiện tại, chỉ cần đặt * (dấu hoa thị) sau các quyền bạn gán:

$chmod 755 *

Do thực hiện lệnh này, chủ sở hữu sẽ có toàn quyền (đọc, sửa đổi, thực thi) đối với tất cả các tệp trong thư mục hiện tại, trong khi nhóm và những người dùng khác sẽ chỉ có quyền đọc và thực thi. Nếu bạn muốn hành động của mình lan truyền đệ quy (bao gồm tất cả các thư mục con), hãy sử dụng tùy chọn -R:

$ chmod -R 777 *

Kết quả của việc thực hiện lệnh trên sẽ là “duyệt” đệ quy tất cả các thư mục con của thư mục hiện tại và gán toàn quyền truy cập cho tất cả người dùng và nhóm. Bài viết này chỉ đề cập đến một số ví dụ về cách sử dụng lệnh chmod. Nếu bạn muốn tìm hiểu thêm về lệnh chmod và các quyền trong Linux, hãy xem bài viết này.

Chỉ thay đổi quyền cho các thư mục (đệ quy)

$ tìm /path/to/base/dir -type d -exec chmod 755() +

$ chmod 755 $(tìm /path/to/base/dir -type d)

$ chmod 755 `tìm /path/to/base/dir -type d`

$ tìm /path/to/base/dir -type d -print0 | xargs -0 chmod 755

Chỉ thay đổi quyền cho các tệp (đệ quy)

$ tìm /path/to/base/dir -type f -exec chmod 644() +

$ chmod 644 $(tìm /path/to/base/dir -type f)

$ chmod 0755 `tìm ./ -type f`

$ tìm /path/to/base/dir -type f -print0 | xargs -0 chmod 644

Cú pháp Chmod cho thư mục và tập tin

Trước tiên, chúng ta hãy hiểu bản chất của vấn đề với Chmod để hiểu chính xác những gì và cách chúng tôi định cấu hình nó. Vậy hãy bắt đầu. Quyền truy cập được chia thành Chmod cho tập tin và Chmod cho thư mục. Chúng được chỉ định giống nhau, nhưng có nghĩa là những thứ hơi khác nhau.

Quyền truy cập (Chmod) vào các tập tin được chia thành:

    r - quyền đọc dữ liệu.

    w – quyền thay đổi nội dung (write – chỉ thay đổi nội dung, không được xóa).

    x - quyền thực thi tệp.

Chúng ta hãy xem xét kỹ hơn các quyền thực thi của tệp. Thực tế là trong linux (Unix), bất kỳ tệp nào cũng có thể được thực thi. Việc nó có thể thực thi được hay không được xác định không phải bởi phần mở rộng của nó (khái niệm về phần mở rộng không có trong hệ thống tệp Unix), mà bởi quyền truy cập Chmod. Nếu một tệp có quyền “X” (chmod x), điều này có nghĩa là nó có thể được thực thi.

Bây giờ về quyền truy cập (Chmod) vào thư mục (thư mục):

    r - quyền đọc thư mục (bạn có thể đọc nội dung của thư mục, tức là lấy danh sách các đối tượng nằm trong đó)

    w - quyền thay đổi nội dung của thư mục (bạn có thể tạo và xóa các đối tượng trong thư mục này và nếu có quyền ghi, bạn thậm chí có thể xóa các tệp không thuộc về mình)

    x - quyền cho phép bạn vào thư mục (quyền này luôn được kiểm tra đầu tiên và ngay cả khi bạn có tất cả các quyền cần thiết đối với một đối tượng nằm sâu trong chuỗi thư mục, bạn cũng không có quyền “X” để truy cập ít nhất một thư mục trên đường dẫn đến tệp này, thì bạn sẽ không bao giờ truy cập được nó)

Trong hệ thống Linux (Unix), tất cả các quyền này được cấp bởi quản trị viên chính của máy tính và anh ta có quyền truy cập bằng cách nhập mật khẩu. Và nếu hầu hết các đối tượng có quyền truy cập chỉ đọc (Chmod), thì thực tế vi-rút sẽ không có tác dụng gì trên máy tính đó, bởi vì chúng sẽ không thể tự viết vào đó và sau đó sẽ không được hoàn thành. Đây chính xác là kết quả mà chúng tôi cần đạt được bằng cách đặt quyền truy cập (Chmod) cho các đối tượng trên trang web của mình.

Cú pháp Chmod cho nhóm người dùng

Bản thân quyền truy cập (Chmod) được chia thành ba loại, tùy thuộc vào người đang truy cập đối tượng:

    “người dùng” - u (chủ sở hữu trực tiếp của tập tin)

    "group" - g (thành viên cùng nhóm với chủ sở hữu)

    "thế giới" - o (tất cả những người khác)

Máy chủ xác định nhóm người dùng nào sẽ chỉ định bạn khi bạn kết nối với máy chủ. Ví dụ: khi bạn kết nối với máy chủ qua FTP, bạn đăng nhập bằng tên người dùng (và mật khẩu) của mình, sau đó máy chủ sẽ chỉ định bạn vào nhóm “người dùng” (“u)”. Những người dùng khác cũng kết nối qua FTP với máy chủ sẽ được chỉ định vào nhóm “group” (“g”) và người dùng truy cập trang web của bạn bằng trình duyệt của họ sẽ được chỉ định vào nhóm “world” (“o”) .

Các biến thể của ba giá trị có thể có "r", "w" và "x" cho ba loại "u", "g" và "o" xác định Chmod cho các tệp. Nếu danh mục không được chỉ định, nó sẽ được thay thế bằng dấu gạch nối “-”. quyền truy cập (Chmod) được chỉ định tuần tự theo thứ tự nhất định:

    đầu tiên là quyền của chủ sở hữu - “u”

    sau đó cho nhóm - “g”

    và ở cuối bên phải dành cho những người khác - “o”

Sau khi máy chủ chỉ định người dùng vào một nhóm nhất định, nó sẽ cấp cho anh ta quyền hành động trên các đối tượng, sau đó người dùng sẽ có thể đọc, ghi hoặc thực thi tệp (tùy thuộc vào nhóm của anh ta được phép làm gì với đối tượng này). Để xem nội dung của một thư mục, nó phải có thuộc tính đọc “r” (đối với nhóm mà máy chủ đã chỉ định cho người dùng). Để tạo một tập tin hoặc thư mục trong một tập tin hiện có, nó phải có thuộc tính Chmod trên mục nhập "w".

Để rõ ràng hơn, chúng ta hãy xem một ví dụ trong đó chủ sở hữu của tệp (“người dùng” - “u”) có tất cả các quyền: quyền đọc, ghi vào đó và thực thi, còn tất cả những người dùng khác chỉ có quyền đọc. Mục nhập cho Chmod như vậy sẽ có dạng như sau: “rwx r-- r--”. Chúng ta hãy xem xét nó một cách chi tiết: “rwx” (bản ghi này chỉ định các quyền đối với đối tượng cho chủ sở hữu - “u”), “r--” (bản ghi này chỉ định các quyền đối với cùng một đối tượng, nhưng nếu người dùng được chỉ định bởi máy chủ cho một nhóm - “g "), "r--" (mục này chỉ định quyền đối với đối tượng cho tất cả người dùng khác - o").

Sự khác biệt giữa các tập tin và thư mục Chmod

Không có gì có thể được thực hiện

Truy cập vào thư mục và các thư mục con của nó bị từ chối

Có thể xem và thay đổi nội dung

Bạn có thể thêm, xóa, thay đổi tập tin thư mục

Thực thi nếu tập tin là nhị phân

Người dùng có thể thực thi một tệp nhị phân mà anh ta biết là tồn tại nhưng không được phép vào hoặc đọc thư mục

Cú pháp Chmod thể hiện bằng số (777)

Bạn có thể thấy rằng ở đây các mục sử dụng chữ cái Latinh và dấu gạch nối được sử dụng để mô tả quyền truy cập, nhưng có thể bạn đã gặp thực tế là Chmod thường được chỉ định ở dạng kỹ thuật số, ví dụ: tổ hợp nổi tiếng: Chmod 777, cho phép mọi thứ tới mọi người. Thật vậy, quyền truy cập (Chmod) cũng được biểu thị bằng các con số:

    w (bản ghi) được thay thế bằng 2

    x (thực thi) được thay thế bằng 1

0 có nghĩa là - không làm gì cả (được biểu thị bằng dấu gạch nối trong ký hiệu chữ cái) Hãy quay lại ví dụ về cách viết quyền truy cập mà tôi đã đưa ra trước đó một chút: rwx r-- r--. Nếu chúng ta thay các chữ cái và dấu gạch nối bằng các số trong đó, theo quy tắc vừa mô tả, đồng thời cộng các số trong mỗi bộ ba, chúng ta sẽ có dạng số của mục này: 744. Tức là Hóa ra tổng của những con số này hiển thị Chmod cho các tệp hoặc thư mục. Ví dụ:

    7 (rwx) = 4 + 2 +1 (toàn quyền)

    5 (r-x)= 4 + 0 + 1 (đọc và thực thi)

    6 (rw-) = 4 + 2 + 0 (đọc và viết)

    4 (r--) =4 + 0 + 0 (chỉ đọc)

Bảng này hiển thị tất cả các kết hợp Chmod có thể được viết bằng kỹ thuật số:

Bây giờ chúng ta hãy xem các kết hợp Chmod khác nhau về số lượng, liên quan đến các nhóm người dùng:

""Người sở hữu""

""Nhóm""

""Nghỉ ngơi""

trình diễn

trình diễn

trình diễn

Bản thân bạn (ngoại trừ trường hợp bạn truy cập trang web qua FTP) và tất cả những khách truy cập khác vào trang web của bạn đều thuộc nhóm “word” (những người khác), vì vậy để làm việc với trang web, trước tiên chúng ta cần xem xét phần cuối cùng (thứ ba). ) Số chmod. Để tập lệnh “chạy tệp” khi người dùng làm việc với một trang web, chỉ cần đặt quyền truy cập (Chmod) trên tập lệnh đó là đủ, bắt đầu từ “4” (r-- – chỉ đọc) ( 5,6,7 cũng phù hợp nhưng điều này sẽ không cần thiết về mặt bảo mật).

“Đối với thư mục” chứa tệp của tập lệnh này, bạn cần đặt mức tối thiểu là “5” (r-x - bạn có thể vào thư mục và đọc nội dung của nó, bạn không thể xóa hoặc thêm). 7 cũng sẽ hoạt động nhưng sẽ dư thừa về mặt bảo mật. Nếu bạn cần tập lệnh không chỉ đọc mà còn "ghi" một số dữ liệu (ví dụ: do người dùng nhập), thì quyền tối thiểu đối với "thư mục" sẽ vẫn là "5", nhưng đối với "tệp" bạn sẽ cần quyền “6” "(đọc và viết).

Rất có thể, trên máy chủ nơi bạn sao chép nội dung của công cụ trang web, các Chmod sau sẽ được cài đặt trên các đối tượng:

Thư mục 755

chủ sở hữu (người dùng) có thể làm mọi thứ, nhóm và những người khác chỉ có thể đọc các thư mục và nhập chúng, nhưng họ bị cấm ghi tập tin, thay đổi tên và xóa chúng trong thư mục. (rwxr-xr-x)

Tập tin 644

Nếu bạn có một trang web chỉ bao gồm html thì bạn có thể để mọi thứ như vậy. Nhưng các trang web hiện đại được xây dựng trên công cụ và có thể có những đối tượng cần được viết thay mặt cho người dùng từ nhóm “thế giới” - o (tất cả những đối tượng khác). Đây có thể là các thư mục được sử dụng để lưu các trang vào bộ đệm hoặc những thư mục mà hình ảnh, v.v. sẽ được tải vào khi bạn làm việc với trang web. Không cần phải nói rằng nếu bạn truy cập trang web qua FTP, bạn có thể tạo một mục trong các tệp hoặc thư mục này, Tuy nhiên, khi làm việc với giao diện của trang web, với tư cách là người dùng thông thường, bạn có thể gặp vấn đề. Do đó, việc cài đặt một số Chmod nhất định phải được tiếp cận một cách có chọn lọc.

12 tháng 8

Tôi đã bối rối về quyền lợi của mình trong một thời gian khá dài - khi tôi mới bắt đầu làm việc với Linux. Nếu không có giải thích bổ sung, mục nhập có dạng “rwx rwx r—” trông khá bất thường và khó hiểu đối với người dùng thiếu kinh nghiệm. Trong thực tế, chỉ cần có những bảng so sánh đơn giản là đủ để dễ dàng hiểu được điều này. Đối với quản trị viên hệ thống và bất kỳ người hâm mộ Linux nào, việc biết những giá trị này là điều bắt buộc!

Vì vậy, quyền trong Linux đối với bất kỳ tệp hoặc thư mục nào luôn được gán cho 3 nhóm người dùng:

1. Bản thân người dùng.

2. Nhóm người dùng này(các quyền sẽ có hiệu lực đối với tất cả người dùng có trong nhóm này).

3. Tất cả người dùng khác.

Quyền có thể có 3 loại:

r- cho phép xem nội dung w- cho phép thay đổi nội dung x- cho phép khởi chạy để thực thi

Dưới đây là bảng hiển thị các kết hợp Chmod khác nhau cho các loại đối tượng khác nhau:

Do đó, một loại quyền truy cập có thể được chọn cho mỗi nhóm người dùng.

'Quyền' 'Tài liệu' 'Thư mục'
- Không có gì có thể được thực hiện Truy cập vào thư mục và các thư mục con của nó bị từ chối
r— Bạn có thể đọc nội dung Bạn có thể đọc nội dung của thư mục
rw- Có thể xem và thay đổi nội dung Bạn có thể thêm, xóa, thay đổi tập tin thư mục
rwx Đọc, sửa đổi và thực thi một tập tin Bạn có thể đọc, xóa, thay đổi tập tin, tạo thư mục hiện tại, tức là. “nhập” thư mục này.
r-x Có thể được đọc hoặc thực thi Bạn có thể vào thư mục và đọc nội dung của nó; bạn không thể xóa hoặc thêm tập tin.
-x Thực thi nếu tập tin là nhị phân Người dùng có thể thực thi một tệp nhị phân mà anh ta biết là tồn tại nhưng không được phép vào hoặc đọc thư mục

Bảng giá trị:

Bạn có thể thấy rằng ở đây các mục sử dụng chữ cái Latinh và dấu gạch nối được sử dụng để mô tả quyền truy cập. Trong Linux, lệnh chmod chịu trách nhiệm gán quyền và nó chỉ hoạt động với các giá trị số. Các giá trị số và ký tự được so sánh khá dễ dàng và rõ ràng như sau:

w (bản ghi) được thay thế bằng 2

x (thực thi) được thay thế bằng 1

0 có nghĩa là - không làm gì cả (cái gì trong ký hiệu chữ cái, nó được biểu thị bằng dấu gạch nối)

Hãy quay lại ví dụ ghi âm mà tôi đã đưa ra trước đó một chút: rwx rwx r-- . Nếu chúng ta thay thế các chữ cái và dấu gạch nối bằng các số trong đó, theo quy tắc vừa mô tả, đồng thời cộng các số trong mỗi bộ ba, chúng ta sẽ có dạng kỹ thuật số của mục này: 774.

Những thứ kia. hóa ra tổng của những con số này hiển thị chmod liên quan đến tập tin hoặc thư mục. Ví dụ:

7 (rwx) = 4 + 2 +1(toàn quyền) 5 (r-x) = 4 + 0 + 1 (đọc và thực hiện) 6 (rw-) = 4 + 2 + 0 (đọc và viết) 4 (r--) =4 + 0 + 0(chỉ đọc)

Bảng hiển thị các kết hợp có thể có của các mục theo số, liên quan đến nhóm người dùng:

'Quyền' 'Người sở hữu' 'Nhóm' 'Nghỉ ngơi'
777 đọc
viết ra
trình diễn
đọc
viết ra
trình diễn
Đọc
viết ra
trình diễn
776 đọc
viết ra
trình diễn
đọc
viết ra
trình diễn
Đọc
viết ra
775 đọc
viết ra
trình diễn
đọc
viết ra
trình diễn
Đọc và thi hành
774 đọc
viết ra
trình diễn
đọc
viết ra
trình diễn
Đọc
766 đọc
viết ra
trình diễn
đọc
viết ra
Đọc
viết ra
655 đọc
viết ra
đọc và thi hành Đọc và thi hành
644 đọc
viết ra
đọc Đọc

Lệnh gán quyền trông như thế này:

chmod ‘giá trị số của quyền’ ‘thư mục hoặc tập tin mà chúng tôi gán quyền’

Ví dụ

chmod 777 script.sh toàn quyền ghi, đọc và thực thi cho tất cả các nhóm người dùng đối với việc tuân thủ tệp script.sh: rwxrwxrwx chmod 644 /home/feanor184/script.sh quyền đọc và ghi đối với chủ sở hữu tệp script.sh nằm trong thư mục chính gốc của người dùng feanor184; đối với các nhóm khác, tệp này sẽ ở chế độ chỉ đọc. khớp: rw-r-r- chmod -R 777 /script toàn quyền đối với thư mục tập lệnh và tất cả các tệp đính kèm của nó cho tất cả các nhóm người dùng. (công tắc -R được đặt để gán quyền cho các tệp đính kèm)