Android

Lệnh Chown trong linux (quyền sở hữu tệp)

16.Linux для Начинающих - Права Доступа и владения файлами и директориями

16.Linux для Начинающих - Права Доступа и владения файлами и директориями

Mục lục:

Anonim

Lệnh chown cho phép bạn thay đổi quyền sở hữu của người dùng và / hoặc nhóm của một tệp, thư mục hoặc liên kết tượng trưng nhất định.

Trong Linux, tất cả các tệp được liên kết với chủ sở hữu và nhóm và được gán quyền truy cập quyền cho chủ sở hữu tệp, thành viên nhóm và những người khác.

Trong hướng dẫn này, chúng tôi sẽ chỉ cho bạn cách sử dụng lệnh chown thông qua các ví dụ thực tế.

Cách sử dụng chown

Trước khi đi vào cách sử dụng lệnh chown , hãy bắt đầu bằng cách xem lại cú pháp cơ bản.

Các biểu thức lệnh chown có dạng sau:

chown USER FILE(s)

USER là tên người dùng hoặc ID người dùng (UID) của chủ sở hữu mới. GROUP là tên của nhóm mới hoặc ID nhóm (GID). FILE(s) là tên của một hoặc nhiều tệp, thư mục hoặc liên kết. ID số phải được bắt đầu bằng ký hiệu + .

  • USER - Nếu chỉ người dùng được chỉ định, người dùng được chỉ định sẽ trở thành chủ sở hữu của các tệp đã cho, quyền sở hữu nhóm không bị thay đổi. USER: - Khi tên người dùng được theo sau bởi dấu hai chấm : và tên nhóm không được cung cấp, người dùng sẽ trở thành chủ sở hữu của các tệp và quyền sở hữu nhóm tệp được thay đổi thành nhóm đăng nhập của người dùng. USER:GROUP - Nếu cả người dùng và nhóm được chỉ định (không có khoảng cách giữa họ), quyền sở hữu người dùng của các tệp được thay đổi thành người dùng nhất định và quyền sở hữu nhóm được thay đổi thành nhóm nhất định. :GROUP - Nếu Người dùng bị bỏ qua và nhóm được thêm tiền tố bằng dấu hai chấm : , chỉ quyền sở hữu nhóm của các tệp được thay đổi thành nhóm đã cho. : Nếu chỉ có dấu hai chấm : được đưa ra, mà không chỉ định người dùng và nhóm, không có thay đổi nào được thực hiện.

Theo mặc định, khi thành công, chown không tạo ra bất kỳ đầu ra nào và trả về 0.

Sử dụng ls -l để tìm ra ai sở hữu một tệp hoặc nhóm thuộc về nhóm nào:

ls -l filename.txt

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

Chỉ người dùng root hoặc người dùng có quyền sudo có thể thay đổi quyền sở hữu nhóm của một tệp.

Cách thay đổi chủ sở hữu của một tập tin

Để thay đổi chủ sở hữu của tệp, sử dụng lệnh chown theo sau là tên người dùng của chủ sở hữu mới và tệp đích làm đối số:

chown USER FILE

Ví dụ: lệnh sau sẽ thay đổi quyền sở hữu tệp có tên file1 thành chủ sở hữu mới có tên linuxize :

chown linuxize file1

Để thay đổi quyền sở hữu của nhiều tệp hoặc thư mục, 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 của một tệp có tên file1 và thư mục dir1 thành chủ sở hữu mới có tên linuxize :

chown linuxize file1 dir1

ID người dùng số (UID) có thể được sử dụng thay vì tên người dùng. Ví dụ sau sẽ 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 :

chown 1000 file2

Nếu chủ sở hữu số tồn tại dưới dạng tên người dùng, thì quyền sở hữu sẽ được chuyển sang tên người dùng. Để tránh tiền tố này, ID có + :

chown 1000 file2

Cách thay đổi chủ sở hữu và nhóm tệp

Để thay đổi cả chủ sở hữu và nhóm của tệp, hãy sử dụng lệnh chown theo sau bởi chủ sở hữu mới và nhóm được phân tách bằng dấu hai chấm (:) không có khoảng trắng can thiệp và tệp đích.

chown USER:GROUP FILE

Lệnh sau sẽ thay đổi quyền sở hữu của tệp có tên file1 thành chủ sở hữu mới có tên linuxize và nhóm users :

chown linuxize:users file1

Nếu bạn bỏ qua tên nhóm sau dấu hai chấm (:), nhóm của tệp sẽ được thay đổi thành nhóm đăng nhập của người dùng được chỉ định:

chown linuxize: file1

Cách thay đổi nhóm tệp

Để chỉ thay đổi nhóm của tệp, hãy sử dụng lệnh chown theo sau là dấu hai chấm (:) và tên nhóm mới (không có khoảng cách giữa chúng) và tệp đích làm đối số:

chown:GROUP FILE

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

chown:www-data file1

Một lệnh khác mà bạn có thể sử dụng để thay đổi quyền sở hữu nhóm của các tệp là chgrp .

Làm thế nào để thay đổi quyền sở hữu liên kết tượng trưng

Khi tùy chọn đệ quy không được sử dụng, lệnh chown sẽ thay đổi quyền sở hữu nhóm của các tệp mà các liên kết tượng trưng trỏ đến, chứ không phải chính các liên kết tượng trưng.

Ví dụ: nếu bạn cố gắng thay đổi chủ sở hữu và nhóm liên kết tượng trưng symlink1 trỏ đến /var/www/file1 , chown sẽ thay đổi quyền sở hữu tệp hoặc thư mục mà symlink trỏ tới:

chown www-data: symlink1

Rất có thể là thay vì thay đổi quyền sở hữu mục tiêu, bạn sẽ nhận được một quy định không thể đăng ký 'symlink1': Quyền bị từ chối lỗi.

Lỗi xảy ra do theo mặc định trên hầu hết các liên kết phân phối Linux được bảo vệ và bạn không thể hoạt động trên các tệp đích. Tùy chọn này được chỉ định trong /proc/sys/fs/protected_symlinks . 1 có nghĩa là kích hoạt và 0 bị vô hiệu hóa. Chúng tôi khuyên bạn không nên vô hiệu hóa bảo vệ symlink.

Để thay đổi quyền sở hữu nhóm của chính liên kết tượng trưng, ​​hãy sử dụng tùy chọn -h :

chown -h www-data symlink1

Làm thế nào để thay đổi đệ quy quyền sở hữu tệp

Để hoạt động đệ quy trên tất cả các tệp và thư mục trong thư mục đã cho, hãy sử dụng tùy chọn -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 tệp và thư mục con trong thư mục /var/www thành chủ sở hữu và nhóm mới có tên www-data :

chown -R www-data: /var/www

Nếu thư mục chứa các liên kết tượng trưng vượt qua tùy chọn -h :

chown -hR www-data: /var/www

Các tùy chọn khác có thể được sử dụng khi thay đổi đệ quy quyền sở hữu thư mục là -H -L .

Nếu đối số được truyền cho lệnh chown là một liên kết tượng trưng trỏ đến một thư mục, tùy chọn -H sẽ khiến lệnh đi qua nó. -L bảo chown đi qua từng liên kết tượng trưng đến một thư mục gặp phải. Thông thường, bạn không nên sử dụng các tùy chọn này vì bạn có thể làm rối hệ thống của mình hoặc tạo ra rủi ro bảo mật.

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 của người dùng và nhóm đối với các tệp đã cho giống như của tệp tham chiếu đã chỉ định ( ref_file ). Nếu tệp tham chiếu là một liên kết tượng trưng sẽ sử dụng người dùng và nhóm của tệp đích.

chown --reference=REF_FILE FILE

Ví dụ: lệnh sau sẽ gán quyền sở hữu nhóm và người dùng của file1 cho file2

chown --reference=file1 file2

Phần kết luận

chown là một tiện ích dòng lệnh Linux / UNIX để thay đổi quyền sở hữu của người dùng và / hoặc nhóm.

Để tìm hiểu thêm về lệnh chown hãy truy cập trang chown man hoặc gõ man chown trong terminal của bạn.

thiết bị đầu cuối chown