23 August 2019

Lệnh chmod trong linux là gì?


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ạiGiải thích
ownerNgười dùng đã tạo thành file hoặc thư mục đó
groupTất cả người dùng thuộc cùng một group
othersTấ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——-600Chủ sở hữu có quyền đọc viết.
-rw-r–r–644Chủ sở hữu có quyền đọc viết, nhóm và những người khác có thể đọc.
-rw-rw-rw-666Chủ sở hữu, nhóm và những người khác có quyền đọc viết.
-rwx——700Chủ 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–x711Chủ 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-x755Chủ 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.
-rwxrwxrwx777Chủ 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——700Chỉ chủ sở hữu có thể đọc và ghi vào thư mục
drwxr-xr-x755Chủ 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.

0 nhận xét:

Post a Comment

 

BACK TO TOP

Xuống cuối trang