Dự án mới của mình là gamehow.net, mời anh em ghé thăm và góp ý ạ.

Cách dùng lệnh Chown trong Linux (quyền sở hữu file)

Trong bài này chúng ta sẽ tìm hiểu cách dùng lệnh chown trong Linux, đây là lệnh dùng để thay đổi quyền sở hữu của người dùng với các file.

Lệnh chown cho phép bạn thay đổi quyền sở hữu của người dùng hoặc nhóm cho file, thư mục hoặc symbolic link.

banquyen png
Bài viết này được đăng tại freetuts.net, không được copy dưới mọi hình thức.

Trong Linux, tất cả các file được liên kết với chủ sở hữu và một nhóm, và được chỉ định quyền truy cho chủ sở hữu file và các thành viên nhóm đó. Sau đây chúng ta cùng tìm hiểu nhé.

1. Cú pháp lệnh chown trong Linux

Trước khi đi vào cách sử dụng lệnh chown thì hãy xem cú pháp của nó trước đã nhé.

Cú pháp lệnh chown có dạng sau:

chown [OPTIONS] USER[:GROUP] FILE(s)

USER là tên người dùng hoặc UID của chủ sở hữu mới. GROUP là tên nhóm hoặc GID nhóm mới. FILE là tên của một hoặc nhiều file, thư mục hoặc symbolic link, nó chính là file đích cần xử lý.

  • Nếu chỉ một người dùng được chỉ định (USER) thì người dùng được chỉ định đó sẽ trở thành chủ sở hữu (ownership), nhóm sở hữu sẽ không có gì thay đổi.
  • Nếu nhập nhiều người dùng vào mục USER và được ngăn cách bởi dấu hai chấm :, và GROUP không được nhập thì người dùng trở thành chủ sở hữu, còn group đó thành nhóm sở hữu của file.
  • Nếu cả USER và GROUP đều được chỉ định thì quyền sở hữu file sẽ thuộc về người dùng và nhóm sở hữu cũng chính là nhóm mà bạn đã chỉ định.
  • Nếu bỏ qua USER và chỉ nhập GROUP thôi thì quyền sở hữu nhóm đổi thành group mà bạn chỉ định.
  • Nếu chỉ có dấu hai chấm đưa ra, tức là không nhập USER và GROUP thì không có thay đổi nào được thực hiện.

Khi chạy lệnh này thành công thì lệnh chown không trả về bất kì gì cả và nó sẽ return vè 0.

2. Xem thông tin quyền của file

Để xem thông tin chi tiết về quyền của các file thì bạn sử dụng lệnh ls -l. Ví dụ dưới đây mình muốn xem chủ sở hữu quyền của file filename.txt thì viết lệnh như sau:

ls -l filename.txt

Kết quả có dạng như sau:

-rw-r--r-- 12 freetuts users 12.0K Apr  8 20:51 filename.txt
|[-][-][-]-   [------] [---]
                |       |
                |       +-----------> Group
                +-------------------> Owner

Người dùng bình thường thì họ chỉ đổi chủ sở nhóm cho file thành những nhóm mà người dùng này đang thuộc về. Còn với tài khoản root hoặc người có đặc quyền sudo thì được phép đổi cho bất kì file nào.

3. Sử dụng chown đổi chủ sở hữu cho file

Trong Linux, để thay đổi chủ sở hữu của file thì hãy sử dụng lệnh chown, theo sau là tên người dùng của chủ sở hữu mới và file cần đổi:

chown USER FILE

Ví dụ dưới đây sẽ thay đổi quyền sở hữu cho file có tên file1 thành chủ sở hữu mới có tên freetuts.

chown freetuts file1

Để thay đổi quyền sở hữu nhiều file thì hãy chỉ định chúng dưới dạng danh sách được phân tách bằng dấu cách.

Lệnh bên dưới thay đổi quyền sở hữu file có tên file1 và thư mục dir1 thành chủ sở hữu mới có tên freetuts.

chown freetuts file1 dir1

Ngoài cách gán cho user name thì bạn cũng có thể gán cho UID.

chown 1000 file2

UID chính là mã số đặc biệt của user, mỗi user sẽ có một UID khác nhau.

4. Sử dụng chown đổi chủ sở hữu và nhóm sở hữu file

Trong Linux, để thay đổi cả chủ sở hữu và nhóm của file thì hãy sử dụng lệnh chown, theo sau là chủ sở hữu và nhóm mới được phân tách bằng dấu hai chấm (:) cần đổi.

Lưu ý là ngăn cách giữa User và Group không được có khoảng trắng nhé.

chown USER:GROUP FILE

Lệnh dưới đây sẽ đổi chủ sở hữu cho file file1 thành freetuts và nhóm sở hữu là freetutsteam.

chown freetuts:freetutsteam

Nếu bạn bỏ qua tên group thì group sở hữu chính là group của user được chỉ định.

chown freetuts: file1

5. Sử dụng chown đổi nhóm sở hữu của file

Trong Linux, để thay đổi nhóm sở hữu thì ta sẽ không nhập USER mà chỉ nhập GROUP thôi.

chown :GROUP FILE

Lệnh sau sẽ thay đổi nhóm sở hữu của file có tên file1 thành www-data.

chown :www-data file1

6. Thay đổi quyền sở hữu các file trong nhiều cập folder

Để duyệt qua tất cả các file nằm trong một thư mục có nhiều cấp thì ta phải sử dụng tùy chọn đệ quy -R (--recursive).

chown -R USER:GROUP DIRECTORY

Ví dụ sau sẽ thay đổi quyền sở hữu của tất cả các file và thư mục con trong thư mục /var/www thành chủ sở hữu mới và nhóm có tên www-data.

chown -R www-data: /var/www

Nếu thư mục có chứa symbolic links thì hãy sử dụng thêm tùy chọn -h.

chown -hR www-data: /var/www

7. Cách sử dụng tùy chọn --reference của lệnh chown

Tùy chọn --reference = ref_file cho phép bạn thay đổi quyền sở hữu của người dùng và nhóm của các file giống với quyền sở hữu của file được chỉ định (ref_file).

Nếu file tham chiếu là một symbolic link thì chown sẽ sử dụng người dùng và nhóm của file đích.

chown --reference=REF_FILE FILE

Ví dụ: Lệnh sau sẽ chỉ định người dùng và quyền sở hữu nhóm của file cho file2.

chown --reference=file1 file2

Như vậy là chúng ta đã tìm hiểu xong cách sử dụng lệnh chown trong Linux. Đây là lệnh dùng trong việc quản lý phân quyền cho user khá phức tạp, vì vậy trong các ví dụ mình chỉ đưa ra những trường hợp đơn giản nhất để giúp bạn dễ hiểu hơn.

Cùng chuyên mục:

Cách dùng lệnh Users trong Linux để xem user đang online

Cách dùng lệnh Users trong Linux để xem user đang online

Nếu bạn đang là quản trị viên thì việc quản lý thông tin / xem…

Cách sử dụng lệnh Wall trong Linux

Cách sử dụng lệnh Wall trong Linux

Wall là một công cụ dòng lệnh giúp hiển thị thông báo đến tất cả…

Cách dùng lệnh Whereis trong Linux

Cách dùng lệnh Whereis trong Linux

Whereis là một tiện ích dòng lệnh command line, nó cho phép bạn tìm ..

Cách sử dụng lệnh Which trong Linux

Cách sử dụng lệnh Which trong Linux

Linux dùng lệnh which để xác định vị trí file thực thi của lệnh mà…

Cách sử dụng lệnh whoami trong Linux

Cách sử dụng lệnh whoami trong Linux

Giống như tên gọi của nó, lệnh whoami in tên người dùng đang chạy ...

Cách dùng lệnh zcat trong Linux

Cách dùng lệnh zcat trong Linux

Mặc dù tính năng nén file rất hữu ích vì nó giúp ta tiết kiệm…

Hiểu rõ hơn về chmod 777 trong Linux

Hiểu rõ hơn về chmod 777 trong Linux

Bạn đang xây dựng một website và sử dụng tính năng upload ...

Cách sử dụng lệnh tail trong Linux

Cách sử dụng lệnh tail trong Linux

Mặc định thì lệnh tail sẽ hiển thị 10 dòng cuối cùng của file, thông…

Cách sử dụng lệnh Head trong Linux

Cách sử dụng lệnh Head trong Linux

Trong quá trình quản trị dữ liệu trên Linux đôi khi bạn muốn xem nhanh…

Cách sử dụng lệnh Whatis trong Linux

Cách sử dụng lệnh Whatis trong Linux

Trong bài này chúng ta sẽ tìm hiểu lệnh whatis trong ...

Cách sử dụng lệnh kill trong Linux

Cách sử dụng lệnh kill trong Linux

Linux là một hệ điều hành rất nhanh nhưng không phải lúc nào nó không…

Cách dùng lệnh who trong Linux

Cách dùng lệnh who trong Linux

Who là một công cụ dòng lệnh command-line, được ...

Cách dùng lệnh basename trong Linux

Cách dùng lệnh basename trong Linux

basename là một tiện ích dòng lệnh (command line) dùng để lấy ...

Cách sử dụng lệnh gzip trên Linux

Cách sử dụng lệnh gzip trên Linux

Gzip là một trong những thuật toán nén file phổ biến nhất, nó cho phép…

Cách dùng lệnh wait trong Linux

Cách dùng lệnh wait trong Linux

Wait là lệnh dùng để đợi một thời gian cho tới khi công việc nào…

Cách dùng lệnh ping trong Linux

Cách dùng lệnh ping trong Linux

Lệnh ping là một trong những công cụ được sử dụng nhiều nhất để khắc…

Cách dùng lệnh sleep trong Linux

Cách dùng lệnh sleep trong Linux

sleep là một tiện ích command line cho phép lập trình viên ..

Các ví dụ học Bash Script trong Linux cơ bản nhất

Các ví dụ học Bash Script trong Linux cơ bản nhất

Bash Script đuọc xem là mã code lập trình trên Linux ...

Vòng lặp until trong Shell Script

Vòng lặp until trong Shell Script

Vòng lặp while trong Shell Script

Vòng lặp while trong Shell Script

Trong Linux script, vòng lặp while được sử dụng trong ...

Top