BLOG BKHOST / VPS ( MÁY CHỦ ẢO ) / Giải thích Chmod là gì?

Giải thích Chmod là gì?

CHMOD là gì? Tác dụng của nó thế nào trên host? Bài viết này mình sẽ giải thích cho các bạn hiểu theo hướng cơ bản dành cho người mới bắt đầu dùng host.

Chmod là gì?

CHMOD là chữ viết tắt cùa “Change Mode” – một tính năng phân quyền các thư mục và tập tin trên môi trường Linux. Vì phần lớn các host mà bạn đang dùng đều là Linux.

Nghĩa là với một thư mục và tập tin, bạn có thể CHMOD nó thành dạng “chỉ đọc” hoặc ở dạng toàn quyền.

CHMOD là gì

CHMOD là gì

Tổng quan Chmod

Trên Linux và các hệ điều hành giống Unix khác, có một bộ quy tắc cho mỗi tệp xác định ai có thể truy cập tệp đó và cách họ có thể truy cập tệp đó. Những quy tắc này được gọi là quyền truy cập tệp hoặc chế độ tệp . Tên lệnh chmod là viết tắt của “thay đổi chế độ”, và nó được sử dụng để xác định cách một tập tin có thể được truy cập.

Trước khi tiếp tục, bạn nên đọc phần Quyền tác giả của tệp là gì và chúng hoạt động như thế nào? trong tài liệu của chúng tôi về lệnh umask . Nó chứa một mô tả toàn diện về cách xác định và thể hiện quyền truy cập tệp.

Nói chung, lệnh chmod có dạng:  chmod tùy chọn tên tệp quyền

Nếu không có tùy chọn nào được chỉ định, chmod sửa đổi quyền của tệp được chỉ định theo tên tệp cho các quyền được chỉ định theo quyền .

Quyền xác định quyền cho chủ sở hữu tệp (“người dùng”), thành viên của nhóm sở hữu tệp (“nhóm”) và bất kỳ ai khác (“người khác”). Có hai cách để đại diện cho các quyền là: với các biểu tượng ( chữ và số ký tự ), hay với bát phân số (các chữ số 0 qua 7 ).

Giả sử bạn là chủ sở hữu của tệp có tên myfile và bạn muốn đặt quyền của nó để:

  1. Các u ser lon r ead, w nghi thức, ande x ecute nó;
  2. Các thành viên của roup g của bạn có thể r ead ande x ecute nó; và
  3. O thers chỉ có thể r ead nó.

Lệnh này sẽ thực hiện thủ thuật: 

   chmod u = rwx, g = rx, o = r tệp của tôi

Ví dụ này sử dụng ký hiệu quyền biểu tượng. Các chữ cái u , g và o đứng cho ” người dùng “, ” nhóm ” và “người khác “. Dấu bằng (” = “) có nghĩa là “đặt quyền chính xác như thế này” và các chữ ” r “, ” w ” và ” x ” đứng cho “đọc”, “viết” và “thực thi” tương ứng. Dấu phẩy phân tách các lớp quyền khác nhau và không có khoảng cách giữa chúng.

Đây là lệnh tương đương sử dụng ký hiệu quyền hạn bát phân: 

   chmod 754 myfile

Ở đây, các chữ số 7 , 5 và 4 đều thể hiện các quyền đối với người dùng, nhóm và các số khác theo thứ tự đó. Mỗi chữ số là sự kết hợp của các số 4 , 2 , 1 và 0 :

  • 4 là viết tắt của “read”,
  • 2 là viết tắt của “write”,
  • 1 là viết tắt của “execute”, và
  • 0 là viết tắt của “không được phép.”

Vì vậy, 7 là sự kết hợp của các điều khoản 4 + 2 + 1 (đọc, viết và thực thi), 5 là 4 + 01 (đọc, không viết và thực thi), và 4 là 4 + 0 + 0 (đọc, không viết và không thực hiện).

Cú pháp

chmod [ TÙY CHỌN ] … CHẾ ĐỘ [, CHẾ ĐỘ ] … TẬP_TIN

chmod [ TÙY CHỌN ] … TẬP TIN CHẾ ĐỘ OCTAL-MODE  …

chmod [ TÙY CHỌN ] … –reference = RFILE FILE

Tùy chọn

-c , –changes Giống như –verbose , nhưng chỉ cho đầu ra tiết khi thực tế thay đổi được thực hiện.
-f , –silent , –quiet Chế độ yên lặng; ngăn chặn hầu hết các thông báo lỗi.
-v , –verbose Chế độ tiết; xuất thông báo chẩn đoán cho mỗi tệp được xử lý.
–no-preserve-root Không xử lý ‘ / ‘ ( thư mục gốc ) theo bất kỳ cách đặc biệt nào, đó là cài đặt mặc định.
–preserve-root Không hoạt động đệ quy trên ‘ / ‘.
–reference = RFILE Đặt quyền để khớp với quyền của tệp RFILE , bỏ qua bất kỳ MODE đã chỉ định nào .
-R , –recursive Thay đổi tập tin và thư mục đệ quy.
–Cứu giúp Hiển thị thông báo trợ giúp và thoát.
–phiên bản Thông tin phiên bản đầu ra và thoát.

Mô tả kỹ thuật

chmod thay đổi chế độ tệp của từng FILE được chỉ định theo MODE , có thể là biểu diễn đại diện của các thay đổi cần thực hiện hoặc số bát phân biểu thị mẫu bit cho bit chế độ mới.

Định dạng của một chế độ tượng trưng là: [ ugoa …] [[ + – = ] [ perms …] …]

trong đó perms là số không hoặc nhiều chữ cái từ tập hợp r , w , x , X , s và t , hoặc một chữ cái duy nhất từ ​​tập u , g và o . Có thể cho nhiều chế độ biểu tượng, phân tách bằng dấu phẩy.

Sự kết hợp của các chữ cái u , g , o và một điều khiển mà quyền truy cập của người dùng vào tệp sẽ bị thay đổi: người dùng sở hữu nó ( u ), những người dùng khác trong nhóm của tệp ( g ), những người dùng khác không có trong tệp nhóm ( o ) hoặc tất cả người dùng ( a ). Nếu không có ai trong số này được đưa ra, có hiệu lực là như thể một được đưa ra, nhưng bit được thiết lập trong umask sẽ không bị ảnh hưởng.

Toán tử + làm cho các bit chế độ tệp đã chọn được thêm vào các bit chế độ tệp hiện có của mỗi tệp;  khiến chúng bị loại bỏ; và = làm cho chúng được thêm vào và gây ra các bit không được đề cập phải được loại trừ ngoại trừ các bit ID nhóm và người dùng không được đặt trước của thư mục không bị ảnh hưởng.

Các ký tự r , w , x , X , s và t chọn bit chế độ tệp cho người dùng bị ảnh hưởng: đọc ( r), ghi ( w ), thực thi ( x ), chỉ thực thi nếu tệp là thư mục hoặc đã có quyền được thực thi đối với một số người dùng ( X ), đặt người dùng hoặc ID nhóm trên ( các ) thực thi , cờ xóa sẽ bị hạn chế hoặc bit dính ( t ). Đối với các thư mục, các tùy chọn thực thi X và X xác định quyền để xem nội dung của thư mục.

Thay vì một hoặc nhiều chữ cái, bạn có thể chỉ định chính xác một trong các chữ cái u , ghoặc o : các quyền được cấp cho người dùng sở hữu tệp ( u ), các quyền được cấp cho những người dùng khác là thành viên của tệp nhóm ( g ) và các quyền được cấp cho người dùng không thuộc hai danh mục trước ( o ).

Một chế độ số là từ một đến bốn chữ số bát phân ( 0 – 7 ), bắt nguồn bằng cách cộng các bit với các giá trị 4 , 2 và 1 . Các chữ số được thừa nhận được giả định là số 0 đứng đầu. Chữ số đầu tiên chọn ID người dùng đã đặt ( 4 ) và đặt ID nhóm ( 2 ) và các thuộc tính bị xóa hoặc dính ( 1 ) bị hạn chế . Chữ số thứ hai chọn quyền cho người dùng sở hữu đọc ( 4 ), viết ( 2 ) và thực hiện ( 1)); thứ ba chọn quyền cho người dùng khác trong nhóm của tệp, với cùng giá trị; và thứ tư cho những người dùng khác không có trong nhóm của tệp, với cùng giá trị.

chmod không bao giờ thay đổi quyền truy cập của các liên kết tượng trưng ; các chmod gọi hệ thống không thể thay đổi điều khoản của họ. Tuy nhiên, đây không phải là vấn đề vì quyền truy cập của các liên kết tượng trưng không bao giờ được sử dụng. Tuy nhiên, đối với mỗi liên kết tượng trưng được liệt kê trên dòng lệnh , chmod thay đổi quyền của tệp được trỏ tới. Ngược lại, chmod sẽ bỏ qua các liên kết tượng trưng gặp phải trong quá trình truyền tải thư mục đệ quy.

Xem thêm cách sửa lỗi 500 internal server error wordpress

Setuid Và Setgid Bits

chmod xóa bit nhóm-ID của một tệp thông thường nếu ID nhóm của tệp không khớp với ID nhóm hiệu quả của người dùng hoặc một trong các ID nhóm bổ sung của người dùng, trừ khi người dùng có các đặc quyền thích hợp. Các hạn chế bổ sung có thể làm cho các ID của người dùng thiết lập và ID nhóm-set của MODE hoặc RFILE bị bỏ qua. Hành vi này phụ thuộc vào chính sách và chức năng của cuộc gọi hệ thống chmod cơ bản . Khi nghi ngờ, hãy kiểm tra hành vi hệ thống bên dưới.

chmod bảo tồn các thiết lập của người dùng-ID-ID và set-group-ID bit trừ khi bạn chỉ định rõ ràng khác. Các bạn có thể thiết lập hoặc xóa các bit với các chế độ biểu tượng như u + s và gs , và các bạn có thể thiết lập (nhưng không rõ ràng) các bit với một chế độ số.

Cờ xóa bị hạn chế (hoặc “Chú ý bit”)

Cờ xóa bị hạn chế hoặc bit dính là một bit duy nhất, việc diễn giải của nó phụ thuộc vào loại tệp. Đối với các thư mục, nó sẽ ngăn người dùng không có đặc quyền xóa hoặc đổi tên tệp trong thư mục trừ khi là họ sở hữu tệp hoặc thư mục; đây được gọi là cờ xóa bị hạn chế cho thư mục và thường được tìm thấy trên các thư mục có thể ghi trên thế giới như là / tmp . Đối với các tệp thông thường trên một số hệ thống cũ hơn, bit lưu hình ảnh văn bản của chương trình trên thiết bị hoán đổi để nó sẽ tải nhanh hơn khi chạy; đây được gọi là bit dính.

Xem quyền của tệp

Một cách nhanh chóng và dễ dàng để liệt kê các quyền của tệp là với tùy chọn danh sách dài ( -l ) của lệnh ls . Ví dụ, để xem các quyền của file.txt , bạn có thể sử dụng lệnh

:

ls -l file.txt

… sẽ hiển thị đầu ra giống như sau:

-rwxrw-r– 1 hy vọng hopestaff 123 Feb 03 15:36 file.txt

Dưới đây là ý nghĩa của từng phần của thông tin này:

– – Ký tự đầu tiên đại diện cho loại tệp: ”  ” cho một tệp thông thường, ” d ” cho một thư mục, ” l ” cho một liên kết tượng trưng.
rwx Ba ký tự tiếp theo đại diện cho quyền cho chủ sở hữu của tệp: trong trường hợp này, chủ sở hữu có thể r ead từ, w rite, quặng x ecute tệp.
rw- Ba ký tự tiếp theo đại diện cho quyền cho các thành viên của nhóm tệp. Trong trường hợp này, bất kỳ thành viên nào trong nhóm sở hữu tệp có thể r ead từ hoặc w rite vào tệp. Dấu gạch ngang cuối cùng là một trình giữ chỗ; thành viên nhóm không được phép thực thi tệp này.
r– Các quyền cho “những người khác” (mọi người khác). Người khác có thể chỉ r EAD tập tin này.
1 Số lượng liên kết cứng tới tệp này.
mong Chủ sở hữu tệp.
hopestaff Nhóm mà tập tin thuộc về.
123 Kích thước của tệp trong các khối .
Ngày 3 tháng 2 năm 15:36 Các mtime của tập tin (ngày và thời gian khi tập tin được sửa đổi lần cuối).
file.txt Tên của tập tin.

Ví dụ

  chmod 644 tệp.htm

Đặt quyền của file.htm thành “chủ sở hữu có thể đọc và viết; nhóm chỉ có thể đọc; những người khác chỉ có thể đọc”.

  chmod -R 755 myfiles

Đệ quy ( -R ) Thay đổi quyền truy cập của thư mục myfiles , và tất cả các thư mục và tập tin chứa, đến chế độ 755 : Người dùng có thể đọc, ghi và thực hiện; thành viên nhóm và những người dùng khác có thể đọc và thực thi, nhưng không thể viết.

  chmod u = rw example.jpg

Thay đổi quyền cho chủ sở hữu của example.jpg để chủ sở hữu có thể đọc và ghi tệp. Không thay đổi quyền cho nhóm hoặc cho người khác.

  chmod u + s comphope.txt

Đặt bit “Set-User-ID” của comphope.txt , để bất kỳ ai cố gắng truy cập vào tệp đó sẽ hoạt động như thể chúng là chủ sở hữu của tệp.

  chmod us comphope.txt

Ngược lại với lệnh trên; un-đặt bit SUID.

  chmod 755 file.cgi

Thiết lập quyền của file.cgi để “đọc, ghi và thực hiện bởi chủ sở hữu” và “đọc và thực hiện bởi nhóm và mọi người khác”.

  chmod 666 file.txt

Đặt sự cho phép của file.txt để “đọc và viết bởi tất cả mọi người.”

  chmod a = rw tệp.txt

Hoàn thành điều tương tự như lệnh trên, sử dụng ký pháp tượng trưng.

Bài viết BKhost đã cung cấp thông tin hữu ích về CHMOD là gì, vui lòng liên hệ với đội Support BKhost để được hỗ trợ.

Xem thêm: thuê server lưu trữ dữ liệu giá rẻ tại BKhost

About ppo.nam

XEM THÊM

máy chủ là gì

Máy chủ server là gì? Nó quan trọng như thế nào?

Máy chủ server là gì? Server là tên tiếng anh dịch sang tiếng Việt có …

Trả lời

Email của bạn sẽ không được hiển thị công khai. Các trường bắt buộc được đánh dấu *