Trong bài viết này, BKHOST sẽ giúp bạn hiểu rõ hơn về lệnh Chown trong Linux và cách sử dụng nó một cách hiệu quả nhất. Ok, hãy cùng bắt đầu ngay thôi nào.
Lệnh Chown trong Linux là gì?
Trong hệ điều hành Linux, mỗi tệp sẽ được đặt trong một nhóm của chủ sở hữu. Lệnh Chown được sử dụng để thay đổi chủ sở hữu của một tập tin, thư mục hay một liên kết tượng trưng nhất định trên máy chủ.
Cách sử dụng lệnh Chown trong Linux
Biểu thức lệnh chown có dạng:
{{EJS0}}
USER là tên hoặc ID người dùng (UID) của chủ sở hữu mới. GROUP là tên hoặc ID nhóm mới (GID). FILE(s) là tên của một hoặc nhiều tệp, thư mục liên kết với nhau. Các ID số phải được đặt trước bằng ký hiệu +.
- USER – Người dùng được chỉ định sẽ trở thành chủ sở hữu mới của các tệp đã cho và các quyền sở hữu nhóm không bị thay đổi.
- USER:– Nếu như tên người dùng được theo sau bởi dấu hai chấm và không có tên nhóm thì chủ sở hữu mới của tệp có thể thay đổi các quyền trong tệp đó theo thông tin đăng nhập của người dùng.
- USER:GROUP – Nếu cả người dùng và nhóm đều được chỉ định thì quyền của người dùng và nhóm sở hữu sẽ được đổi thành thông tin của người nhận hoặc nhóm đó.
- :GROUP – Nếu bỏ qua người dùng và chỉ nhập tên nhóm thì quyền sở hữu mới sẽ đổi thành nhóm mà bạn đã chỉ định.
- : – Nếu bỏ qua người dùng và nhóm, chỉ có dấu hai chấm được đưa ra thì sẽ không có thay đổi nào được thực hiện.
Khi chạy lệnh chown thành công sẽ không có bất kỳ đầu ra nào và được trả về 0.
Sử dụng lệnh ls -l để tìm ra chown của tệp bất kỳ:
{{EJS1}}
{{EJS2}}
Quản trị viên có thể thay đổi quyền sở hữu nhóm của các tệp trên máy chủ. Còn các thành viên chỉ có thể thay đổi một số tệp được cấp quyền sở hữu nhất định.
Cách thay đổi chủ sở hữu tệp
Trong hệ điều hành Linux, lệnh chown được dùng để thay đổi chủ sở hữu tệp. Theo sau là tên người dùng của chủ sở hữu và tệp mới cần đổi:
{{EJS3}}
Ví dụ: Lệnh chown thay đổi chủ sở hữu của một tệp có tên file thành chủ sở hữu mới là linuxize:
{{EJS4}}
Để thay đổi quyền sở hữu của nhiều tệp cần chỉ định chúng dưới dạng danh sách được phân tách bằng dấu cách.
Lệnh chown thay đổi quyền sở hữu của nhiều tệp có tên file1 và thư mục dir1 thành chủ sở hữu mới là linuxize:
{{EJS5}}
ID người dùng có thể được sử dụng thay cho tên người dùng.
Ví dụ: Thay đổi quyền sở hữu của tệp có tên file2 thành chủ sở hữu mới với UID là 1000:
{{EJS6}}
Nếu như chủ sở hữu là tên người dùng thì quyền sở hữu cũng sẽ được đổi thành tên người dùng đó.
Cách thay đổi chủ sở hữu và nhóm tệp bằng lệnh chown
Tong Linux, lệnh chown còn được dùng để thay đổi cả chủ sở hữu và nhóm của tệp. Theo sau là chủ sở hữu và nhóm mới được phân tách bằng dấu hai chấm (:)
{{EJS7}}
Lệnh chown đổi chủ sở hữu cho tệp có tên file1 thành linuxize và nhóm sở hữu là users:
{{EJS8}}
Nếu bạn bỏ qua tên nhóm sau dấu (:) thì nhóm sở hữu chính là nhóm đăng nhập của người dùng được chỉ định:
{{EJS9}}
Cách thay đổi nhóm tệp
Trong Linux, sử dụng lệnh chown theo sau bởi dấu (:) để thay đổi nhóm sở hữu của tệp. Theo sau là tên của nhóm và không nhập tên của người dùng.
{{EJS10}}
Lệnh chown đổi nhóm sở hữu của tệp có tên file1 thành www-data:
{{EJS11}}
Ngoài lệnh chown thì người dùng có thể lựa chọn lệnh chgrp để thay đổi quyền sử hữu nhóm của tệp.
Cách thay đổi quyền sở hữu các liên kết tượng trưng
Các liên kết tượng trưng hay còn được gọi là thư mục ảo. Nếu như tuỳ chọn đệ quy không được sử dụng, lệnh chown sẽ tiến hành thay đổi quyền sở hữu nhóm của tệp đó.
Ví dụ: Sử dụng lệnh chown để thay đổi chủ sở hữu và nhóm của thư mục ảo bằng cách trỏ symlink1 đến /var/www/file1:
{{EJS12}}
Nếu như bị lỗi, bạn sẽ nhận được thông báo “cannot dereference ‘symlink1’: Permission denied” được gửi về từ máy chủ. Nguyên nhân là do hầu hết các thư mục ảo của Linux được bảo vệ khá nghiêm ngặt. Tính năng này được chỉ định trong /proc/sys/fs/protected_symlinks với 1 là bật và 0 là tắt.
Để thay đổi quyền sở hữu nhóm của thư mục ảo, sử dụng tùy chọn -h:
{{EJS13}}
Cách thay đổi đệ quy quyền sở hữu tệp bằng lệnh chown
Để đệ quy duyệt qua tất cả các tệp cùng nằm trong một thư mục có nhiều cấp thì cần phải sử dụng đến tùy chọn đệ quy -R (–recursive):
{{EJS14}}
Ví dụ: Thay đổi quyền sở hữu của tất cả các tệp và thư mục con trong thư mục /var/www thành chủ sở hữu mới của nhóm có tên www-data:
{{EJS15}}
Nếu thư mục có chứa các liên kết tượng trưng, sử dụng tùy chọn -h :
{{EJS16}}
Ngoài tuỳ chọn -h, bạn cũng có thể lựa chọn -H hoặc -L để thay đổi đệ quy quyền sở hữu thư mục.
Sử dụng tệp tham chiếu
Tùy chọn –reference = ref_file cho phép bạn thay đổi quyền sở hữu người dùng và nhóm của các tệp 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 liên kết tượng trưng thì lệnh chown sẽ sử dụng người dùng và nhóm của tệp đích.
{{EJS17}}
Ví dụ: Sử dụng lệnh chown để chỉ định người dùng và quyền sở hữu của tệp có tên file1 đến file2
{{EJS18}}
Tổng kết về Chown Command trong Linux
Như vậy bài viết trên đây BKHOST đã giúp bạn tìm hiểu chi tiết về cách sử dụng lệnh Chown Command trong Linux. Hy vọng với những thông tin hữu ích này có thể giúp cho bạn quản lý tốt và chuyên nghiệp hơn với chiếc máy tính của mình.
Ngoài ra, nếu bạn còn muốn tìm hiểu thêm những cách sử dụng lệnh khác trong Linux, hay còn bất cứ câu hỏi nào liên quan đến Chown Command, hãy để lại ở bên bình luận bên dưới, BKHOST sẽ trả lời bạn trong thời gian sớm nhất.
P/s: Bạn cũng có thể truy cập vào Blog của BKHOST để đọc thêm các bài viết chia sẻ kiến thức về lập trình, quản trị mạng, website, domain, hosting, vps, server, email,… Chúc bạn thành công.