Lệnh cho phép người dùng thực hiện thay đổi một số thông tin về file là

Trong hệ điều hành Linux, mỗi file được đặt trong một nhóm sở hữu – group ownership và đặt bởi một chủ sở hữu. Chown là chữ viết tắt của “change owner” – đổi chủ sở hữu. Như tên gọi, chown command được dùng để thay đổi chủ sở hữu và nhóm chủ sở hữu của file, thư mục, links nếu bạn đang có quyền superuser của hệ thống Unix. Bài viết này sẽ hướng dẫn bạn cách sử dụng chúng.

Nếu một người dùng bình thường muốn chỉnh sửa file, superuser có thể dùng lệnh chown command này để thay đổi ownership và cho phép họ chỉnh sửa

Đầu tiên, bạn cần đăng nhập VPS bằng SSH. Nếu bạn chưa biết cách dùng, hãy xem qua bài hướng dẫn này, nó có tất cả thông tin cần thiết.

Trước khi sử dụng lệnh chown, bạn cần biết thông tin tin sử hữu nhóm và user sở hữu trước đã. Để lấy các thông tin này, bạn có thể dùng lệnh cd rồi chuyển tới thư mục cần biết.

Ví dụ, nếu đường dẫn của file là /tmp/TestUnix, bạn có thể chuyển tới thư mục này bằng lệnh:

cd /tmp/TestUnix

Tại đây liệt kê danh sách file trong thư mục bằng lệnh sau:

ls -l

Trong bài hướng dẫn này, ví dụ có một file có tên chownSample.txt trong thư mục này. Output của lệnh trên sẽ có kết quả như sau:

-rw-r--r-- 1 root root 0 Feb 20 17:35 chownSample.txt

Phần đầu tiên -rw-r–r–, đại diện cho file permission [quyền sỡ hữu của file]. Còn lại, thông tin đầu tiên root là user ownership, root thứ 2 là group owener. Vậy chownSample.txt sở hữu bởi user root, và user này thuộc về nhóm có tên root.

Chown cho Files – đổi quyền sở hữu của file

Để thay đổi owner của file [chủ sở hữu của file], lệnh cơ bản sẽ như sau:

chown user filename[s]

Lấy ví dụ file trên là chownSample.txt, chúng tôi thay đổi từ user sở hữu là root sang một user khác có tên là whales. Thực hiện lệnh như sa:

chown whales chownSample.txt

Để kiểm tra thay đổi có được thực thi, bạn có thể dùng lại lệnh ls -l. Output sẽ hiện lên như sau:

-rw-r--r-- 1 whales root 0 Feb 20 17:45 chownSample.txt

Lệnh trên có thể chỉnh một chút để thay đổi quyền group owner, như sau:

chown user[:group] filename[s]

Lấy ví dụ trên nếu bạn muốn đổi group owner của chownSample.txt thành group aquatic, vậy lệnh sẽ cần được thực thi như sau:

chown whales:aquatic chownSample.txt

Để kiểm tra file đã được đổi thành công chưa, bạn dùng lại lệnh ls -l. Kết quả sẽ như sau:

-rw-r--r-- 1 whales aquatic 0 Feb 20 17:50 chownSample.txt

Nếu chỉ có group cần thay đổi, mà giữ nguyên owner, thì bạn gõ lệnh sau như sau:

chown :aquatic chownSample.txt

Chown có chức năng tương tự như lệnh chgrp khi bạn không đưa ra thông tin owner.

Tóm lại, cấu trúc của lệnh chown command với các tùy chọn là:

chown [OPTIONS] [USER] [:GROUP] filename[s]

Chown cho thư mục – đổi ownership của thư mục

Chown cũng có thể áp dụng cho thư mục. Thư mục này chỉ chứa files hoặc thư mục hoặc cả hai.

Lấy ví dụ chúng tôi có thư mục TestUnix, với các quyền khi dùng lệnh ls -l liệt kê có kết quả như sau:

drwxr-xr-x 2 root root 4096 Feb 20 17:35 TestUnix

Như bạn thấy đoạn đầu drwxr-xr-x, đại diện của việc phân quyền thư mục. Còn phần hai có 2 chữ root là đại diện cho quyền sở hữu. Root đầu tiên là thông tin user sở hữu và root thứ hai là thông tin nhóm sở hữu. TestUnix trong ví dụ này vì vậy có chủ sở hữu là root và thuộc về nhóm sở hữu là root.

Giống với files, bạn có thể thay chủ sở hữu cho thư mục này. Bạn thực hiện lệnh như sau để đổi chủ sở hữu của thư mục này thành whales:

chown whales /TestUnix

Để đổi group sở hữu, dùng lệnh:

chown :aquatic /TestUnix

Để thay đổi cả owner và group owner, bạn dùng lệnh sau:

chown whales:aquatic /TestUnix

Lệnh này cũng dùng được cho nhiều file và thư mục. Bạn thao tác như cấu trúc bên dưới:

chown [OPTIONS] [USER][:GROUP] file1 file2

Ví dụ của lệnh trên là:

chown whales:aquatic /tmp/TestUnix/chownSample.txt /tmp/TestUnix

Chown cho Links

Chown command có thể được dùng trên symbolic link và soft link. Symbolic link là liên kết tham chiếu tới vị trí file gốc vật lý đã tồn tại. Lệnh ln được dùng để tạo soft links. Ví dụ như file chownSample.txt, chúng tôi tạo symbolic link bằng lệnh sau::

ln -s chownSample.txt symlink

Để xác nhậ chủ sở hữu và nhóm chủ sở hữu, chúng tôi lại dùng lệnh ls -l. Lệnh này sẽ xuất kết quả như bên dưới:

-rw-r--r--  1 root root  0 Feb 19 22:01 chownSample.txt lrwxr-xr-x  1 root root 5 Feb 19  7 22:01 symlink -> chownSample.txt

Có 2 kết quả. Một là file vật lý và 2 là file symbolic link. Để ví dụ, chúng tôi sẽ muốn đổi ownership của file symlink này, lệnh sẽ như sau:

chown whales symlink

Lệnh ở trên thay đổi ownership của file chownSample.txt. Khi thực hiện lệnh ls -l ta sẽ thấy kết quả như sau:

-rw-r--r--  1 whales root  0 Feb 19 22:01 chownSample.txt lrwxr-xr-x  1 root root 5 Feb 19  7 22:01 symlink -> chownSample.txt

Nếu bạn muốn thực sự đổi ownership của symbolic vậy bạn cần dùng option -h. Lệnh này như sau:

chown -h whales symlink

Tại đây nếu bạn sử dụng command ls -l, vậy output sẽ như sau:

-rw-r--r--  1 whales root  0 Feb 19 22:01 chownSample.txt lrwxr-xr-x  1 whales root  5 Feb 19 7 22:01 symlink -> chownSample.txt

Sử dụng chown đệ quy [recursive]

Chown command áp dụng lên thư mục, tuy nhiên, nếu dùng thông thường thì không áp dụng được cho file và thư mục con bên trong thư mục áp dụng. Vậy để thay đổi ownership cho toàn bộ thư mục con và file bên trong thư mục đó, chúng ta cần thực hiện lệnh một cách đệ quy.

Rất đơn giản, chúng ta chỉ cần thêm tùy chọn -R khi chạy lệnh, kết quả sẽ như sau:

chown -R [USER][:GROUP] Directory

Nếu ạn có thư mục TestUnix với nhiều thư mục con, lệnh trên sẽ thay đổi user owner của toàn bộ thư mục con đó và thư mục chính sang user whales.

chown -R whales /TestUnix

Tóm lại

Vậy thôi, giờ bạn đã biết cơ bản về chown command. Unix system có trang hướng dẫn chi tiết cho từng command. Nó có thể giúp bạn sử dụng lệnh này điêu luyện nhất và tận dụng mọi khả năng của nó. Bạn lấy tài liệu hướng dẫn này bằng lệnh man chown. Chúng tôi hy vọng bài viết này hữu ích và giúp bạn quản lý tốt file VPS hiệu quả, an toàn, và chuyên nghiệp nhất. Chúc lập trình vui vẻ!

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à: chownchmod trong Linux. Trước tiên chúng tôi sẽ giải thích chownchmod 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 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ữ d 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], 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  [owner, group 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:

Video liên quan

Chủ Đề