Chuyển tới nội dung
Trang chủ » Trang chủ » Làm thế nào để đổi quyền và chủ sở hữu qua dòng lệnh chmod trong Linux

Làm thế nào để đổi quyền và chủ sở hữu qua dòng lệnh chmod trong Linux

Contents

Làm thế nào để đổi quyền và chủ sở hữu qua dòng lệnh chmod trong Linux

nguồn:https://www.hostinger.vn/huong-dan/lam-the-nao-de-doi-quyen-va-chu-so-huu-qua-dong-lenh

Làm thế nào để đổi quyền và chủ sở hữu qua dòng lệnh chmod trong Linux

Giới thiệu

Trong bài hướng dẫn này, bạn sẽ tìm hiểu cách làm thế nào để đổi quyền của file/folder và chủ sở hữu dựa trên dòng lệnh trên hệ điều hành Linux / Unix. Có 2 command đơn giản bạn có thể dùng để làm việc này là: chown và chmod trong Linux. Trước tiên chúng tôi sẽ giải thích chown và chmod là gì, xong sau đó chúng tôi sẽ hướng dẫn cách thực thi lệnh chown và chmod để bạn có thể tự làm theo ý bạn.

Bạn cần gì

Trước khi bạn đầu, bạn cần chuẩn bị:

  • Truy cập được vào command line

Phần 1 — Đổi quyền của file và folder bằng lệnh chmod trong linux

Chmod là gì?

Command này được dùng để đổi quyền của một file hoặc thư mục. Cơ bản, mỗi file có ba loại users tương tác với nó:

Loại Giải thích
owner Người dùng đã tạo thành file hoặc thư mục đó
group Tất cả người dùng thuộc cùng một group
others Tất cả người dùng khác, không phải owner hoặc những người dùng trong group.

Nếu bạn muốn loại user nào có quyền nào với file hoặc folder, thì bạn có thể thực thi lệnh chmod để điều khiển việc này theo ý bạn.

Trước tiên nếu muốn xem quyền của file đang ở trong tình trạng nào, bạn có thể thực thi lệnh

ls -l

Ví dụ,

ls -l file1.txt

sẽ hiện ra kết quả:

-rwxr–rw- 1 user user 0 Jan 19 12:59 file1.txt
  • “-rwxr–rw-“ – Phần này thể hiện quyền (permissions). Có 4 chữ cái bạn sẽ thấy trong phần này là: r,w,x,d và dấu –
    • Dấu  dùng để thay thế cho một hoặc những vị trí trống không được cấu hình
    • d có nghĩa file này là thư mục (directory), trong ví dụ của chúng ta, không có chữ này (vì file này không phải thư mục, nếu là thư mục chữ sẽ xuất hiện đầu tiên thay vì dấu “-” ).
    • Dấu x có nghĩa là quyền quyền thực thi (execute) của một file/thư mục (chúng ta cần quyền để vào để truy cập một thư mục).
    • w có nghĩa là quyền để ghi file/folder (sửa, xóa file, vâng vâng).
    • Và chữ cuối cùng là r, có nghĩa là đọc (read). Nếu chúng ta có quyền read, chúng thể đọc nội dung của files, nhưng chỉ có vậy, không thể sửa hoặc thực thi nó (ví dụ, bạn chỉ có thể đọc code chứ không chạy được nó)
  • 1 – Số của hard links. Hard link là link tới một file đã tồn tại.
  • user user – Phần này lần lượt hiện chủ của file (owner) và nhóm của chủ file (group) này. Với ví dụ này, chủ file có tên là user và group của nó là user
  • 0 – Thể hiện kích thước của file.
  • Jan 19 12:59 – Ngày chỉnh sửa cuối cùng.
  • file1.txt – Tên của thư mục / file

Bạn dùng lệnh chmod khi bạn muốn cài đặt các quyền này của người dùng.

Cách sử dụng lệnh chmod trong linux.

Bên dưới là hướng dẫn chỉ bạn cách sử dụng chmod để đổi quyền của file và thư mục bằng cách thêm số cho đúng. Mỗi loại có số riêng của nó:

  • r (read) – 4
  • w (write) – 2
  • x (execute) – 1

Vì vậy nếu bạn muốn đặt file1.txt với các quyền ở ví dụ trên sao cho owner quyền đọc (r), ghi (w), thực thi (x), nhóm có quyền đọc (r), và những người khác có quyền đọc ghi (r) + (w), bạn sử dụng lệnh:

chmod 746 file1.txt

Kết quả nếu bạn kiểm tra quyền của file1.txt sẽ là:

-rwxr–rw- 1 user user 0 Jan 19 12:59 file1.txt

Cơ bản, mỗi số (với ví dụ trên ta có “746”) trong lệnh này đại diện cho một loại người dùng (chủ sở hữu, nhóm sở hữu, và khác).

Số đầu tiên để phân quyền cho chủ sở hữu của file.
Số đầu tiên là 7, cách duy nhất để có số 7 trong 4,2,1 là: 4+2+1 (=7). Có nghĩa là có Toàn quyền (đọc, ghi và thực thi – rwx).

Số thứ 2 để phân quyền cho nhóm sở hữu.
Số thứ 2 là 4, số này đại diện cho quyền quyền đọc: r (đọc).

Số thứ 3 để phân quyền cho những người khác.
Số thứ 3 là 6, cách duy nhất để có giá trị 6 là phép cộng giữa 4+2 (=6) có nghĩa là những người khác có quyền đọc (4) và ghi (2)

Phần thứ 3 (file.txt) của lệnh này là tên file, chúng ta viết tên file vào để phân quyền cho nó.

Một ví dụ khác là: chmod 777 file2.txt, lệnh này gán tất cả quyền cho tất cả người dùng  (ownergroup and other).

Đây là danh sách một số quyền phổ biến của file:

Giá trị Giá trị số Giải thích
-rw——- 600 Chủ sở hữu có quyền đọc viết.
-rw-r–r– 644 Chủ sở hữu có quyền đọc viết, nhóm và những người khác có thể đọc.
-rw-rw-rw- 666 Chủ sở hữu, nhóm và những người khác có quyền đọc viết.
-rwx—— 700 Chủ sở hữu có thể đọc, viết và thực thi, nhóm và những người khác không thể làm gì với file này.
-rwx–x–x 711 Chủ sở hữu có thể đọc, viết, và thực thi, nhóm và những người khác có thể thực thi.
-rwxr-xr-x 755 Chủ sở hữu có thể đọc, viết và thực thi, nhóm và những người khác có thể đọc và thực thi.
-rwxrwxrwx 777 Chủ sở hữu, nhóm và những người khác có thể đọc, viết và thực thi.

Những quyền thông dụng cho thư mục:

Giá trị Giá trị số Giải thích
drwx—— 700 Chỉ chủ sở hữu có thể đọc và ghi vào thư mục
drwxr-xr-x 755 Chủ sở hữu, nhóm và những người khác có thể đọc thư mục, nhưng chỉ chủ sở hữu có thể thay đổi nội dung bên trong.

Có nhiều cách khác để thay đổi thư mục bằng cách sử dụng command chmod trong linux nhưng chúng tôi khuyên bạn chỉ cần học thuộc một trong số chúng và sử dụng chúng nhiều lần (trong trường hợp này, cách sử dụng số để đổi quyền). Nếu bạn muốn biết các cách khác nhau để đổi permission của file hoặc thư mục, bạn có thể xem qua tại đây

Phần 2 — Đổi chủ sở hữu file và thư mục bằng lệnh chown linux

Chown là gì? 

Lệnh này được dùng để đổi owners (chủ sở hữu) của file và folder. Thông thường bạn cần có quyền root để làm lệnh này. Cấu trúc lệnh này cơ bản như sau:

chown [owner/group owner] [file name]

Cách thực thi lệnh chown

Cơ bản, nếu chúng ta có một file tên là “demo.txt” và muốn đổi chủ sở hữu của file tới cho “jerry” và group owner thành “clients”, vì thông thường khi bạn thay đổi owner bạn cần thay đổi luôn group owner, bạn cần dùng lệnh sau:

chown jerry:clients demo.txt

Như bạn thấy, chúng tôi phân biệt giữa owner và group owner với dấu 2 chấm “:”. Nếu chỉ muốn đổi chủ sở hữu của file, chúng ta dùng lệnh sau:

chown jerry demo.txt

Chỉ cần bỏ bớt nhóm sở hữu và chỉ cần điền tên chủ sở hữu mới của file, trong trường hợp này, nhóm sở hữu sẽ không đổi. Một ví dụ tương tự sẽ là nếu muốn đổi nhóm sở hữu của file, lệnh cần được viết như sau:

chown :clients demo.txt

Trong trường hợp này, chỉ nhóm chủ sở hữu được đổi thành clients (chủ sở hữu sẽ không đổi).

Bước 3 — Sử dụng các options với lệnh chmod và chown

Một trong các option hoạt động với cả 2 lệnh là -R, có nghĩa là recursive. Option này cho phép bạn đổi quyền / owners trong một thư mục và Tất cả các file và thư mục khác bên trong của thư mục đó.

CẨN THẬN! Hãy cực kỳ thận trọng với option này, nếu được dùng sai, bạn có thể bất cẩn đổi quyền hoặc owners của TẤT CẢ file trong hệ thống, có thể dẫn đến lỗi ngihe6m trong hoặc bạn phải rất tốn sức để sửa lại permission và owner cho đúng.

Một số option của “chmod” và “chown”:

  • “-f” – Bắt buộc chạy một cách âm thầm (force). Sẽ không hiển thị tất cả các lỗi.
  • “-v” – Cho bạn biết thông tin của tất cả file bị ảnh hưởng bởi command này.
  • “-c” – Giống với -v, nhưng chỉ hiện thông tin khi có thay đổi.

Kết luận

Trong bài hướng dẫn này, bạn sẽ học cách đổi quyền và chủ sở hữu của files và folders qua dòng lệnh. Có được những kỹ năng này sẽ bạn quản lý server dễ dàng hơn.Nếu bạn muốn tiếp tục học, hãy tham khảo những bài viết hữu dụng khác bên dưới: