NỘI DUNG

Hosting tốc độ cao Vietnix - tốc độ tải trang trung bình dưới 1 giây
VPS siêu tốc Vietnix - trải nghiệm mượt mà, ổn định
24/04/2024
Lượt xem

Hướng dẫn cách sử dụng lệnh Chown trong Linux

24/04/2024
8 phút đọc
Lượt xem

Đánh giá

5/5 - (175 bình chọn)

Tìm hiểu cách sử dụng lệnh chown trong Linux để thay đổi quyền sở hữu của tệp và thư mục, quản lý quyền truy cập và bảo mật hệ thống hiệu quả. Bài viết sẽ chia sẻ hướng dẫn chi tiết, cú pháp, ví dụ và giải thích dễ hiểu, giúp bạn thành thạo thao tác này ngay cả khi mới bắt đầu. Tìm hiểu ngay!

Lệnh chown trong Linux là gì?

Lệnh chown trong Linux được sử dụng để thay đổi quyền sở hữu của tệp hoặc thư mục. Quyền sở hữu bao gồm hai phần:

  • Chủ sở hữu: Người dùng sở hữu tệp hoặc thư mục.
  • Nhóm: Nhóm người dùng mà tệp hoặc thư mục thuộc về.

Lệnh chown có thể được sử dụng bởi người dùng có quyền root hoặc người dùng sở hữu tệp hoặc thư mục.

Lệnh chown trong Linux được sử dụng để thay đổi quyền sở hữu của tệp
Lệnh chown trong Linux được sử dụng để thay đổi quyền sở hữu của tệp

Cách sử dụng lệnh chown trong Linux hiệu quả

Lệnh chown có cú pháp chung như sau:

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

Trong đó:

  • USER là tên người dùng (username) hoặc ID (UID) của chủ sở hữu.
  • GROUP là tên của group hoặc group ID (GID).
  • FILE(s) là tên của một hay nhiều file, thư mục hoặc liên kết. Trong đó các ID dạng số phải được bắt đầu bằng ký tự +.

Giải thích chi tiết hơn:

  • USER – Nếu chỉ có user được chỉ định trong lệnh thì user này sẽ trở thành chủ sở hữu của file, quyền sở hữu theo group vẫn không thay đổi.
  • USER: – Nếu sau username là dấu : mà không có tên group thì user này trở thành chủ sở hữu của file, còn quyền sở hữu file theo group sẽ được chuyển thành login group của user.
  • USER:GROUP – Nếu chỉ định cả hai thì quyền sở hữu theo người dùng chuyển thành USER, quyền sở hữu theo nhóm được gán cho GROUP trong lệnh.
  • :GROUP – Nếu không chỉ định user thì chỉ thay đổi quyền sở hữu theo group của file.
  • : – Nếu không chỉ định gì thì sẽ không thay đổi quyền sở hữu file theo group lẫn user.

Theo mặc định thì lệnh chown không trả về kết quả gì nếu thực thi thành công. Ta có thể dùng lệnh ls -l để kiểm tra xem quyền sở hữu file đã được cập nhật chưa:

ls -l filename.txt

Output:

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

Người dùng thông thường chỉ có thể thay đổi group của một file nếu người dùng sở hữu file, đồng thời là một thành viên trong group cần thay đổi. Mặt khác, các user quản trị viên có thể thay đổi quyền sổ hữu file theo group của mọi file.

Nếu bạn muốn kiểm tra và xem sách user trong Linux nhưng chưa biết sử dụng lệnh nào. Bạn có thể tìm hiểu qua bài chia sẻ này: Cách kiểm tra và xem danh sách user trong Linux

Thay đổi chủ sở hữu của file

Để thay đổi chủ sở hữu của file, ta có thể dùng lệnh chown kèm theo username của chủ sở hữu mới và tên file:

chown USER FILE

Chẳng hạn ta cần đổi quyền sở hữu của file file1 sang chủ sở hữu mới là vietnix:

chown vietnix file1

Để đổi quyền sổ hữu của nhiều file hay thư mục thì ta có thể chỉ định từng file/thư mục trong lệnh, ngăn cách nhau bởi khoảng trắng. Ví dụ ta cần đổi quyền sở hữu của các file1dir1 sang user mới là vietnix:

chown vietnix file1 dir1

UID của user có thể được dùng thay cho username. Giả sử ta cần đổi quyền sở hữu của file2 sang user có UID 1000:

chown 1000 file2

Nếu có một người dùng có tên dạng số thì quyền sở hữu sẽ được chuyển sang người dùng này dựa trên username. Khi đó ta có thể dùng tiền tố + để tránh nhầm lẫn.

Cách đổi quyền sở hữu và group của một file

Để thay đổi cả chủ sở hữu và group của một file thì ta có thể dùng lệnh chown, kèm theo user và group cách nhau bởi dấu : như sau.

chown USER:GROUP FILE

Giả sử ta cần đổi quyền sổ hữu của file1 sang user vietnix và group users:

chown vietnix:users file1

Nếu bỏ tên group thì group của file sẽ được tự động chuyển thành login group của người dùng trong lệnh:

chown vietnix: file1

Cách đổi group của một file

Nếu muốn thay đổi group của một file, ta có thể dùng lệnh chown kèm theo tên group như sau:

chown :GROUP FILE

Giả sử ta cần đổi quyền sở hữu theo group của file1 sang nhóm www-data:

chown :www-data file1

Nếu không sử dụng option đệ quy (recursive) thì lệnh chown sẽ đổi quyền sở hữu theo group của file mà liên kết tượng trưng đang trỏ đến, chứ không thay đổi bản thân liên kết tượng trưng này.

Giả sử ta cần đổi chủ sở hữu và group của symlink1 đang trỏ đến /var/www/file1. Lệnh chown sẽ chỉ thay đổi chủ sở hữu của file và thư mục mà symlink đang trỏ đến.

chown www-data: symlink1

Ngoài ra ta còn có thể gặp lỗi “cannot dereference ‘symlink1’: Permission denied” vì hầu hết các symlink trên nhiều bản phân phối Linux đều được bảo vệ, nên người dùng sẽ không thể thao tác trên những file này.

Do đó, để thay đổi quyền sở hữu theo group của symlink thì ta có thể dùng option -h như sau:

chown -h www-data symlink1

Thay đổi chủ sở hữu theo phương thức đệ quy

Để thay đổi quyền sổ hữu của file và thư mục theo kiểu đệ quy thì ta có thể dùng option -R (--recursive) như sau:

chown -R USER:GROUP DIRECTORY

Giả sử ta cần đổi quyền sở hữu của mọi file và thư mục con có trong /var/www sang group www-data:

chown -R www-data: /var/www

Nếu thư mục này có chứa các symlink thì ta có thể truyền thêm option -h:

chown -hR www-data: /var/www

Cách đổi chủ sở hữu bằng file tham chiếu

Option --reference=ref_file cho phép ta thay đổi quyền sở hữu theo user và group của các file dựa trên quyền sở hữu của file tham chiếu được chỉ định trong ref_file. Nếu file tham chiếu là một liên kết tượng trưng thì chown sẽ sử dụng user và group của file đích.

chown --reference=REF_FILE FILE

Giả sử ta cần gán quyền sở hữu theo user và group của file1 cho file2:

chown --reference=file1 file2

Lời kết

Lệnh chown trong Linux là một công cụ command-line vô cùng tiện lợi để thay đổi quyền sở hữu của các file và thư mục. Bài viết trên đã hướng dẫn những trường hợp sử dụng cơ bản và phổ biến nhất của lệnh chown trong Linux. Chúc các bạn thành công!

THEO DÕI VÀ CẬP NHẬT CHỦ ĐỀ BẠN QUAN TÂM

Đăng ký ngay để nhận những thông tin mới nhất từ blog của chúng tôi. Đừng bỏ lỡ cơ hội truy cập kiến thức và tin tức hàng ngày

Chọn chủ đề :

Hưng Nguyễn

Co-Founder
tại

Kết nối với mình qua

Kết nối với mình qua

Theo dõi
Thông báo của
guest
0 Comments
Phản hồi nội tuyến
Xem tất cả bình luận

Tăng tốc độ website - Nâng tầm giá trị thương hiệu

Tăng tốc tải trang

95 điểm

Nâng cao trải nghiệm người dùng

Tăng 8% tỷ lệ chuyển đổi

Thúc đẩy SEO, Google Ads hiệu quả

Tăng tốc ngay

SẢN PHẨM NỔI BẬT

7 NGÀY DÙNG THỬ HOSTING

NẮM BẮT CƠ HỘI, THÀNH CÔNG DẪN LỐI

Cùng trải nghiệm dịch vụ hosting tốc độ cao được hơn 100,000 khách hàng sử dụng

ĐĂNG KÝ NHẬN TÀI LIỆU THÀNH CÔNG
Cảm ơn bạn đã đăng ký nhận tài liệu mới nhất từ Vietnix!
ĐÓNG

ĐĂNG KÝ DÙNG THỬ HOSTING

7 NGÀY MIỄN PHÍ

ĐĂNG KÝ DÙNG THỬ HOSTING

7 NGÀY MIỄN PHÍ

XÁC NHẬN ĐĂNG KÝ DÙNG THỬ THÀNH CÔNG
Cảm ơn bạn đã đăng ký thông tin thành công. Đội ngũ CSKH sẽ liên hệ trực tiếp để kích hoạt dịch vụ cho bạn nhanh nhất!
ĐÓNG