Lệnh thay đổi quyền là gì?

Lệnh chmod cho phép người dùng thay đổi quyền đọc ghi trong hệ thống Unix. Trong hướng dẫn này, chúng tôi sẽ chỉ cho bạn cách sửa đổi quyền đối với tệp và thư mục bằng chmod

Các hệ thống tương tự Unix, bao gồm các hệ thống Linux chạy trên nền tảng Linode, có một hệ thống kiểm soát truy cập cực kỳ mạnh mẽ cho phép quản trị viên hệ thống cho phép nhiều người dùng truy cập vào một hệ thống một cách hiệu quả mà không cần cấp cho mọi người dùng quyền truy cập vào mọi tệp trên hệ thống tệp. Lệnh

chmod [who][+,-,=][permissions] filename
3 là cách tốt nhất và dễ dàng nhất để sửa đổi các quyền đối với tệp này

Hướng dẫn này cung cấp tổng quan ngắn gọn về quyền đối với tệp và hoạt động của lệnh

chmod [who][+,-,=][permissions] filename
3 cùng với một số ví dụ thực tế và ứng dụng của lệnh
chmod [who][+,-,=][permissions] filename
3. Nếu bạn thấy hướng dẫn này hữu ích, vui lòng xem hướng dẫn thực hành quản trị cơ bản của chúng tôi và hướng dẫn nhóm và người dùng Linux tiếp theo

Khái niệm cơ bản về quyền đối với tệp Linux

Tất cả các đối tượng hệ thống tệp trên các hệ thống giống Unix có ba loại quyền chính. đọc, ghi và thực thi quyền truy cập. Quyền được ban cho ba lớp có thể. chủ sở hữu, nhóm và tất cả người dùng hệ thống khác

Để xem quyền truy cập tệp của một tập hợp tệp, hãy sử dụng

ls -lha

Trong cột đầu tiên của đầu ra, có 10 ký tự đại diện cho các bit cho phép. Để hiểu tại sao chúng được gọi là bit quyền, hãy xem phần bên dưới

drwxr-xr-x 2 owner group       4.0K 2009-08-13 10:16 docs
-rw-r--r-- 1 owner group       8.1K 2009-07-09 16:23 roster.py
lrwxrwxrwx 2 owner group       4.0K 2009-08-13 10:16 team.docs

Một cách để hiểu ý nghĩa của cột này là chia các bit thành các nhóm

File typeUserGroupGlobal
chmod [who][+,-,=][permissions] filename
6 Directory
chmod [who][+,-,=][permissions] filename
7
chmod [who][+,-,=][permissions] filename
8
chmod [who][+,-,=][permissions] filename
8
chmod g+w ~/example.txt
0 Regular file
chmod g+w ~/example.txt
1
chmod g+w ~/example.txt
2
chmod g+w ~/example.txt
2
chmod g+w ~/example.txt
4 Symbolic Link
chmod [who][+,-,=][permissions] filename
7
chmod [who][+,-,=][permissions] filename
7
chmod [who][+,-,=][permissions] filename
7

Ký tự đầu tiên đại diện cho loại tệp. Chín bit còn lại trong nhóm ba đại diện cho các quyền tương ứng cho người dùng, nhóm và toàn cầu. Mỗi cái là viết tắt của

Lưu ý rằng quyền truy cập vào các tệp được nhắm mục tiêu bởi các liên kết tượng trưng được kiểm soát bởi các quyền của tệp được nhắm mục tiêu, không phải quyền của đối tượng liên kết. Có những thứ kiểm soát các khía cạnh khác của quyền truy cập vào tệp

Cách sử dụng chmod

Trong hướng dẫn này, chmod đề cập đến các phiên bản gần đây của chmod chẳng hạn như các phiên bản được cung cấp bởi dự án GNU. Theo mặc định, chmod được bao gồm trong tất cả các hình ảnh do Linode cung cấp và là một phần của lựa chọn gói "cơ sở" phổ biến được cung cấp trong hầu hết các bản phân phối của hệ điều hành dựa trên Linux

Thay đổi quyền của tệp bằng chmod

Để thay đổi quyền truy cập tệp bằng chmod, hãy chạy

chmod [who][+,-,=][permissions] filename
3, hoán đổi quyền truy cập tệp mong muốn và thư mục hoặc tệp. Chủ sở hữu có thể thay đổi quyền truy cập tệp cho bất kỳ người dùng, nhóm hoặc những người khác bằng cách thêm
chmod g+w ~/example.txt
0 để xóa hoặc
chmod g=u ~/example.txt
0 để thêm một số quyền nhất định. Các quyền này được phân loại thành đọc, viết hoặc thực thi

Trong vài phần tiếp theo, chúng ta sẽ đi sâu vào cú pháp chmod

Sử dụng cú pháp ký hiệu tượng trưng với chmod

Định dạng của lệnh chmod là

chmod [who][+,-,=][permissions] filename

Hãy xem xét lệnh chmod sau

chmod g+w ~/example.txt

Điều này cấp cho tất cả các thành viên của nhóm người dùng sở hữu tệp

chmod g=u ~/example.txt
1 quyền ghi. Các tùy chọn khả thi khác để thay đổi quyền của người dùng được nhắm mục tiêu là

Ai [Thư]Meaninguuserggroupoothersaall

Toán tử

chmod g=u ~/example.txt
0 cấp quyền trong khi toán tử
chmod g+w ~/example.txt
0 lấy đi quyền. Quyền sao chép cũng có thể

chmod g=u ~/example.txt

Tham số

chmod g=u ~/example.txt
4 có nghĩa là cấp quyền cho nhóm giống như quyền của người dùng

Có thể chỉ định nhiều quyền bằng cách tách chúng bằng dấu phẩy, như trong ví dụ sau

chmod g+w,o-rw,a+x ~/example-files/

Điều này thêm quyền ghi cho các thành viên nhóm người dùng và xóa quyền đọc và ghi khỏi những người dùng “khác” của hệ thống. Cuối cùng,

chmod g=u ~/example.txt
5 thêm quyền thực thi cho tất cả các danh mục. Giá trị này cũng có thể được chỉ định là
chmod g=u ~/example.txt
6. Nếu không có danh mục nào được chỉ định, quyền sẽ được thêm hoặc bớt vào tất cả các danh mục quyền

Trong ký hiệu này, chủ sở hữu của tệp được gọi là

chmod g=u ~/example.txt
7 [e. g.
chmod g=u ~/example.txt
8]

chmod -R +w,g=rw,o-rw, ~/example-files/

Tùy chọn

chmod g=u ~/example.txt
9 áp dụng sửa đổi các quyền một cách đệ quy cho thư mục được chỉ định và cho tất cả nội dung của nó

Sử dụng cú pháp ký hiệu bát phân với chmod

Một phương pháp khác để đặt quyền là thông qua ký hiệu bát phân

Dưới đây là ví dụ về quyền đối với tệp tương đương với

chmod g+w,o-rw,a+x ~/example-files/
0

chmod 750 ~/example.txt

Quyền đối với tệp này là

chmod g+w,o-rw,a+x ~/example-files/
1

Bỏ qua bit đầu tiên, mỗi bit bị chiếm bởi một

chmod g+w ~/example.txt
0 có thể được thay thế bằng một
chmod g+w,o-rw,a+x ~/example-files/
3 trong khi
chmod g+w,o-rw,a+x ~/example-files/
4,
chmod g+w,o-rw,a+x ~/example-files/
5 hoặc
chmod g+w,o-rw,a+x ~/example-files/
6 được đại diện bởi một
chmod g+w,o-rw,a+x ~/example-files/
7. Kết quả chuyển đổi là

111 101 000

Đây được gọi là ký hiệu bát phân vì các số nhị phân được chuyển đổi thành cơ số 8 bằng cách sử dụng các chữ số từ 0 đến 7

BinaryOctalPermission0000—0011–x0102-w-0113-wx1004r–1015r-x1106rw-1117rwx

Mỗi chữ số độc lập với hai chữ số còn lại. Do đó,

chmod g+w,o-rw,a+x ~/example-files/
8 có nghĩa là người dùng hiện tại có thể đọc, viết và thực thi, nhóm không thể viết và những người khác không thể đọc, viết hoặc thực thi

chmod g+w,o-rw,a+x ~/example-files/
9, đây là quyền mặc định điển hình, cho phép đọc, viết và thực thi quyền đối với chủ sở hữu và quyền đọc đối với nhóm và người dùng “thế giới”

Một trong hai ký hiệu là tương đương và bạn có thể chọn sử dụng bất kỳ hình thức nào thể hiện rõ ràng hơn nhu cầu về quyền của mình

Ví dụ về các quyền chung với chmod

chmod 600 [
chmod -R +w,g=rw,o-rw, ~/example-files/
0]

600 quyền có nghĩa là chỉ chủ sở hữu tệp mới có quyền đọc và ghi đầy đủ đối với tệp đó. Khi quyền truy cập tệp được đặt thành 600, không ai khác có thể truy cập tệp. Các lệnh chmod ví dụ [trong các khái niệm bát phân và ký hiệu] đặt quyền thành 600

chmod 600 example.txt
chmod u=rw,g=,o= example.txt
chmod a+rwx,u-x,g-rwx,o-rwx example.txt

chmod 664 [
chmod -R +w,g=rw,o-rw, ~/example-files/
1]

664 [______32_______1] cho phép các quyền sau. đọc và viết cho chủ sở hữu; . Nếu bạn tin tưởng những người dùng khác trong cùng một nhóm và mọi người cần có quyền ghi vào tệp thì đây là cài đặt phổ biến để sử dụng. Mặt khác, quyền

chmod -R +w,g=rw,o-rw, ~/example-files/
3 có thể được sử dụng để hạn chế quyền ghi vào nhóm. Lệnh chmod ví dụ [trong các khái niệm bát phân và ký hiệu] đặt quyền thành 664

drwxr-xr-x 2 owner group       4.0K 2009-08-13 10:16 docs
-rw-r--r-- 1 owner group       8.1K 2009-07-09 16:23 roster.py
lrwxrwxrwx 2 owner group       4.0K 2009-08-13 10:16 team.docs
0

chmod 777 [
chmod -R +w,g=rw,o-rw, ~/example-files/
4]

chmod 777 được sử dụng để cấp quyền cho mọi người đọc, viết và thực thi một tệp. Mặc dù sử dụng các quyền này là một cách nhanh chóng để khắc phục lỗi dựa trên quyền nhưng đây không phải là cách tốt nhất để bảo mật hầu hết các tệp và ứng dụng. Lệnh chmod ví dụ [trong các khái niệm bát phân và ký hiệu] đặt quyền thành 777

drwxr-xr-x 2 owner group       4.0K 2009-08-13 10:16 docs
-rw-r--r-- 1 owner group       8.1K 2009-07-09 16:23 roster.py
lrwxrwxrwx 2 owner group       4.0K 2009-08-13 10:16 team.docs
1

Làm cho một tập tin có thể thực thi được

Các ví dụ sau thay đổi quyền của tệp để bất kỳ người dùng nào cũng có thể thực thi tệp “~/example. py”

drwxr-xr-x 2 owner group       4.0K 2009-08-13 10:16 docs
-rw-r--r-- 1 owner group       8.1K 2009-07-09 16:23 roster.py
lrwxrwxrwx 2 owner group       4.0K 2009-08-13 10:16 team.docs
2

Khôi phục quyền tệp mặc định

Các quyền mặc định cho các tệp trên hệ thống Unix thường là

chmod -R +w,g=rw,o-rw, ~/example-files/
5 hoặc
chmod -R +w,g=rw,o-rw, ~/example-files/
3. Quyền của
chmod -R +w,g=rw,o-rw, ~/example-files/
5 có nghĩa là chủ sở hữu có toàn quyền truy cập đọc và ghi đối với tệp, trong khi không người dùng nào khác có thể truy cập tệp. Quyền của
chmod -R +w,g=rw,o-rw, ~/example-files/
3 có nghĩa là chủ sở hữu tệp có quyền đọc và ghi, trong khi các thành viên nhóm và người dùng khác trên hệ thống chỉ có quyền đọc

Đưa ra một trong các lệnh chmod sau để đặt lại quyền trên một tệp về một trong các giá trị mặc định có thể xảy ra

drwxr-xr-x 2 owner group       4.0K 2009-08-13 10:16 docs
-rw-r--r-- 1 owner group       8.1K 2009-07-09 16:23 roster.py
lrwxrwxrwx 2 owner group       4.0K 2009-08-13 10:16 team.docs
3

Đối với các tệp thực thi, cài đặt tương đương sẽ là

chmod -R +w,g=rw,o-rw, ~/example-files/
9 và
chmod 750 ~/example.txt
0 tương ứng với
chmod -R +w,g=rw,o-rw, ~/example-files/
5 và
chmod -R +w,g=rw,o-rw, ~/example-files/
3 trừ khi có quyền thực thi

Sử dụng một trong các ví dụ sau để đạt được các quyền “mặc định” có thể thực thi này

drwxr-xr-x 2 owner group       4.0K 2009-08-13 10:16 docs
-rw-r--r-- 1 owner group       8.1K 2009-07-09 16:23 roster.py
lrwxrwxrwx 2 owner group       4.0K 2009-08-13 10:16 team.docs
4

Xóa quyền của tệp bằng chmod

Để xóa quyền đọc ghi được cấp cho một tệp, hãy sử dụng cú pháp sau

drwxr-xr-x 2 owner group       4.0K 2009-08-13 10:16 docs
-rw-r--r-- 1 owner group       8.1K 2009-07-09 16:23 roster.py
lrwxrwxrwx 2 owner group       4.0K 2009-08-13 10:16 team.docs
5

Đối với ví dụ tập tin của chúng tôi. txt, chúng ta có thể xóa quyền đọc ghi bằng chmod cho nhóm bằng cách chạy lệnh sau

drwxr-xr-x 2 owner group       4.0K 2009-08-13 10:16 docs
-rw-r--r-- 1 owner group       8.1K 2009-07-09 16:23 roster.py
lrwxrwxrwx 2 owner group       4.0K 2009-08-13 10:16 team.docs
6

Để xóa quyền đọc ghi chmod khỏi nhóm trong khi thêm quyền đọc ghi vào công khai/những người khác, chúng ta có thể sử dụng lệnh sau

drwxr-xr-x 2 owner group       4.0K 2009-08-13 10:16 docs
-rw-r--r-- 1 owner group       8.1K 2009-07-09 16:23 roster.py
lrwxrwxrwx 2 owner group       4.0K 2009-08-13 10:16 team.docs
7

Tuy nhiên, nếu bạn muốn xóa tất cả các quyền của nhóm và những người khác, bạn có thể làm như vậy bằng cách sử dụng lệnh go= thay thế

drwxr-xr-x 2 owner group       4.0K 2009-08-13 10:16 docs
-rw-r--r-- 1 owner group       8.1K 2009-07-09 16:23 roster.py
lrwxrwxrwx 2 owner group       4.0K 2009-08-13 10:16 team.docs
8

Hạn chế quyền truy cập tệp. Xóa tất cả các quyền của Nhóm và Thế giới

Có một số trường hợp quản trị viên và người dùng nên hạn chế quyền truy cập vào các tệp, đặc biệt là các tệp chứa mật khẩu và thông tin nhạy cảm khác. Các tệp cấu hình cho msmtp và Fetchmail [_______35_______3 và

chmod 750 ~/example.txt
4] là hai ví dụ phổ biến

Bạn có thể xóa tất cả quyền truy cập vào các tệp này bằng các lệnh ở một trong các biểu mẫu sau

drwxr-xr-x 2 owner group       4.0K 2009-08-13 10:16 docs
-rw-r--r-- 1 owner group       8.1K 2009-07-09 16:23 roster.py
lrwxrwxrwx 2 owner group       4.0K 2009-08-13 10:16 team.docs
9

Hiểu quyền thư mục Linux

Mặc dù quyền đối với thư mục trong Linux tương tự như quyền đối với tệp, nhưng có một vài điểm khác biệt chính liên quan đến cách các quyền này ảnh hưởng đến hoạt động của người dùng

  • Đọc [
    chmod g+w,o-rw,a+x ~/example-files/
    
    4]. Người dùng có thể liệt kê các mục trong một thư mục [chẳng hạn như khi sử dụng lệnh
    chmod 750 ~/example.txt
    
    6]
  • Viết [
    chmod g+w,o-rw,a+x ~/example-files/
    
    5]. Người dùng có thể thêm, xóa hoặc đổi tên các tệp trong một thư mục - miễn là người dùng cũng có quyền thực thi
  • Thực hiện [
    chmod g+w,o-rw,a+x ~/example-files/
    
    6]. Người dùng có thể điều hướng đến thư mục [chẳng hạn như khi sử dụng lệnh
    chmod 750 ~/example.txt
    
    9]

Để xem quyền của tất cả các tệp và thư mục trong thư mục làm việc, hãy chạy

111 101 000
0. Đầu ra sẽ tương tự như đoạn mã dưới đây. Các thư mục được phân biệt với các tệp bằng bit đầu tiên trong các quyền. Như đã đề cập trước đây,
chmod [who][+,-,=][permissions] filename
6 là viết tắt của thư mục và
chmod g+w ~/example.txt
0 biểu thị mục là một tệp

chmod [who][+,-,=][permissions] filename
0

Quyền trên một thư mục riêng lẻ cũng có thể được xem bằng cách chạy

111 101 000
3

Cách thay đổi quyền thư mục bằng chmod

Quyền thư mục có thể được điều chỉnh bằng cách sử dụng các lệnh chmod giống như đã được phác thảo trước đây để sửa đổi quyền tệp. Ví dụ sau thay đổi quyền trên một thư mục thành 755 [chủ sở hữu có quyền đọc, ghi và thực thi, trong khi người dùng trong nhóm hoặc bất kỳ người dùng nào khác có quyền đọc và thực thi]

chmod [who][+,-,=][permissions] filename
1

Trong nhiều trường hợp, các quyền cũng nên được thay đổi đệ quy trên tất cả các tệp và thư mục con. Điều này có thể được thực hiện thông qua chmod bằng cách sử dụng tùy chọn

chmod g=u ~/example.txt
9. Để thay đổi tất cả các quyền đối với các tệp trong một thư mục để đọc và ghi cho chủ sở hữu, đọc cho nhóm và đọc cho những người dùng khác, hãy chạy lệnh sau

chmod [who][+,-,=][permissions] filename
2

Thêm thông tin

Bạn có thể muốn tham khảo các tài nguyên sau để biết thêm thông tin về chủ đề này. Mặc dù chúng được cung cấp với hy vọng rằng chúng sẽ hữu ích, xin lưu ý rằng chúng tôi không thể đảm bảo tính chính xác hoặc kịp thời của các tài liệu được lưu trữ bên ngoài

Lệnh nào thay đổi quyền trong Linux?

Để thay đổi quyền truy cập thư mục trong Linux, hãy sử dụng cách sau. .
chmod +rwx filename để thêm quyền
chmod -rwx directoryname để xóa quyền
chmod +x tên tệp để cho phép quyền thực thi
chmod -wx filename để lấy quyền ghi và quyền thực thi

Lệnh chmod 400 dùng để làm gì?

Cấp cho người dùng quyền đọc và xóa tất cả các quyền khác . Nó có nghĩa là để bảo vệ một tệp khỏi việc vô tình ghi đè, xóa, đổi tên hoặc di chuyển tệp.

Lệnh chmod 755 là gì?

chmod là một lệnh của Linux [các hệ thống giống Unix] có thể được sử dụng để sửa đổi quyền của tệp . Nó thay đổi nhóm, người dùng và những người khác để thực thi, viết và đọc quyền. Lệnh chmod 755 Linux này là một trường hợp sử dụng cần thiết cho chmod.

Chmod 644 có nghĩa là gì?

Quyền 644 có nghĩa là chủ sở hữu tệp có quyền đọc và ghi, trong khi các thành viên nhóm và người dùng khác trên hệ thống chỉ có quyền đọc.

Chủ Đề