Thứ Sáu, 28 tháng 7, 2023

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.

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é.

Mục lục

  • 1. Cú pháp lệnh chown trong Linux
  • 2. Xem thông tin quyền của file
  • 3. Sử dụng chown đổi chủ sở hữu cho file
  • 4. Sử dụng chown đổi chủ sở hữu và nhóm sở hữu file
  • 5. Sử dụng chown đổi nhóm sở hữu của file
  • 6. Thay đổi quyền sở hữu các file trong nhiều cập folder
  • 7. Cách sử dụng tùy chọn --reference của lệnh chown

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é.

Bài viết này được đăng tại [tranvanbinh.vn]

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

1
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:

1
ls -l filename.txt

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

1
2
3
4
5
-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:

1
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.

1
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.

1
chown freetuts file1 dir1

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

1
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é.

1
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.

1
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.

1
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.

1
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.

1
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).

1
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.

1
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.

1
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.

1
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.

1
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.

=============================
* KHOÁ HỌC ORACLE DATABASE A-Z ENTERPRISE trực tiếp từ tôi giúp bạn bước đầu trở thành những chuyên gia DBA, đủ kinh nghiệm đi thi chứng chỉ OA/OCP, đặc biệt là rất nhiều kinh nghiệm, bí kíp thực chiến trên các hệ thống Core tại VN chỉ sau 1 khoá học.
* CÁCH ĐĂNG KÝ: Gõ (.) hoặc để lại số điện thoại hoặc inbox https://m.me/tranvanbinh.vn hoặc Hotline/Zalo 090.29.12.888
* Chi tiết tham khảo:
https://bit.ly/oaz_w
=============================
KẾT NỐI VỚI CHUYÊN GIA TRẦN VĂN BÌNH:
📧 Mail: binhoracle@gmail.com
☎️ Mobile/Zalo: 0902912888
👨 Facebook: https://www.facebook.com/BinhOracleMaster
👨 Inbox Messenger: https://m.me/101036604657441 (profile)
👨 Fanpage: https://www.facebook.com/tranvanbinh.vn
👨 Inbox Fanpage: https://m.me/tranvanbinh.vn
👨👩 Group FB: https://www.facebook.com/groups/DBAVietNam
👨 Website: https://www.tranvanbinh.vn
👨 Blogger: https://tranvanbinhmaster.blogspot.com
🎬 Youtube: https://www.youtube.com/@binhguru
👨 Tiktok: https://www.tiktok.com/@binhguru
👨 Linkin: https://www.linkedin.com/in/binhoracle
👨 Twitter: https://twitter.com/binhguru
👨 Podcast: https://www.podbean.com/pu/pbblog-eskre-5f82d6
👨 Địa chỉ: Tòa nhà Sun Square - 21 Lê Đức Thọ - Phường Mỹ Đình 1 - Quận Nam Từ Liêm - TP.Hà Nội

=============================
oracle tutorial, học oracle database, Tự học Oracle, Tài liệu Oracle 12c tiếng Việt, Hướng dẫn sử dụng Oracle Database, Oracle SQL cơ bản, Oracle SQL là gì, Khóa học Oracle Hà Nội, Học chứng chỉ Oracle ở đầu, Khóa học Oracle online,sql tutorial, khóa học pl/sql tutorial, học dba, học dba ở việt nam, khóa học dba, khóa học dba sql, tài liệu học dba oracle, Khóa học Oracle online, học oracle sql, học oracle ở đâu tphcm, học oracle bắt đầu từ đâu, học oracle ở hà nội, oracle database tutorial, oracle database 12c, oracle database là gì, oracle database 11g, oracle download, oracle database 19c, oracle dba tutorial, oracle tunning, sql tunning , oracle 12c, oracle multitenant, Container Databases (CDB), Pluggable Databases (PDB), oracle cloud, oracle security, oracle fga, audit_trail,oracle RAC, ASM, oracle dataguard, oracle goldengate, mview, oracle exadata, oracle oca, oracle ocp, oracle ocm , oracle weblogic, postgresql tutorial, mysql tutorial, mariadb tutorial, ms sql server tutorial, nosql, mongodb tutorial, oci, cloud, middleware tutorial, hoc solaris tutorial, hoc linux tutorial, hoc aix tutorial, unix tutorial, securecrt, xshell, mobaxterm, putty

ĐỌC NHIỀU

Trần Văn Bình - Oracle Database Master