Lệnh cho phép người dùng thực hiện thay đổi một số thông tin về file là
Show
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/TestUnixTại đây liệt kê danh sách file trong thư mục bằng lệnh sau: ls -lTrong 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.txtPhầ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.txtLệ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.txtNế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.txtChown 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ụcChown 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 TestUnixNhư 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 /TestUnixLệ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 file2Ví dụ của lệnh trên là: chown whales:aquatic /tmp/TestUnix/chownSample.txt /tmp/TestUnixChown cho LinksChown 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.txtCó 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 symlinkLệ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.txtNế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 symlinkTạ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.txtSử 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: 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 /TestUnixTóm lạiVậ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à: 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ị:
Phần 1 — Đổi quyền của file và folder bằng lệnh chmod trong linuxChmod 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ó:
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
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ó:
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.txtKế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.txtCơ 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ố thứ 2 để phân quyền cho nhóm sở hữu. Số thứ 3 để phân quyền cho những người khác. 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:
Những quyền thông dụng cho thư mục:
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 linuxChown 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 chownCơ 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.txtNhư 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.txtChỉ 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.txtTrong 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à chownMộ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”:
Kết luậnTrong 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: |