Câu trả lời:
Lệnh chown được sử dụng để thay đổi chủ sở hữu và chủ sở hữu nhóm của một tệp hoặc thư mục. Đặc quyền Superuser được yêu cầu để sử dụng lệnh này. Cú pháp của chown trông như thế này:
chown [owner][:[group]] file...
chown có thể thay đổi chủ sở hữu tệp và / hoặc chủ sở hữu nhóm tệp tùy thuộc vào đối số đầu tiên của lệnh. Dưới đây là một số ví dụ:
chown owner file
thí dụ:
chown bob file --> Changes the ownership of the file from its current owner to user bob.
chown owner:group file
thí dụ:
chown bob:users file --> Changes the ownership of the file from its current owner to user bob and changes the file group owner to group users.
chown :group file
thí dụ:
chown :admins file --> Changes the group owner to the group admins. The file owner is unchanged.
chown owner: file
thí dụ:
chown bob: file --> Change the file owner from the current owner to user bob and changes the group owner to the login group of user bob.
Vui lòng đọc hướng dẫn tốt đẹp này https://www.linode.com/docs/tools-reference/linux-users-and-groups . Điều này hiển thị một số thông tin về người dùng, nhóm, quyền, ...
sudo
bao giờ sẽ cần thiết để thực thi tệp?
Nó không phải là user:user
, nhưng user:group
.
Đây là định dạng lệnh
chown [OPTION]... [OWNER][:[GROUP]] FILE...
Nhóm người dùng có thể bao gồm nhiều người dùng. Dưới đây là một số thông tin liên quan đến các nhóm:
Linux sử dụng các nhóm như một cách để tổ chức người dùng. Các nhóm tổ chức các bộ sưu tập tài khoản, chủ yếu như một biện pháp bảo mật. Kiểm soát thành viên nhóm được quản lý thông qua tệp / etc / nhóm, trong đó hiển thị danh sách các nhóm và thành viên của nhóm. Mỗi người dùng có một nhóm mặc định hoặc chính. Khi người dùng đăng nhập, thành viên nhóm được đặt cho nhóm chính của họ. Điều này có nghĩa là khi người dùng khởi chạy chương trình hoặc tạo tệp, cả tệp và chương trình đang chạy sẽ được liên kết với tư cách thành viên nhóm hiện tại của người dùng. Người dùng có thể truy cập các tệp khác trong các nhóm khác, miễn là họ cũng là thành viên của nhóm đó và quyền truy cập được đặt. Để chạy các chương trình hoặc tạo một tệp trong một nhóm khác, người dùng phải chạy lệnh newgrp để chuyển nhóm hiện tại của họ.
Một tập tin được sở hữu bởi một người dùng và một nhóm. Theo mặc định, nó thuộc sở hữu của người dùng đã tạo tệp và nhóm mặc định của mình, trừ khi nó được thay đổi.
Trong trường hợp của bạn, người dùng root
là thành viên của nhóm root
.
root
và root root
nhóm làm gì? Tôi hiểu phần chủ sở hữu mặc dù
cut -d: -f1 /etc/group
lệnh, bạn có thể thấy danh sách đầy đủ các nhóm trong hệ thống của bạn. unix.stackexchange.com/questions/153390/ từ có thể giúp bạn hiểu lý do tại sao có một nhóm với tên người dùng
man chown
đưa ra mô tả và cách sử dụng và thông tin hữu ích khác về chown
lệnh.
NAME
chown - change file owner and group
SYNOPSIS
chown [OPTION]... [OWNER][:[GROUP]] FILE...
chown [OPTION]... --reference=RFILE FILE...
Hình thành thông tin được cung cấp bởi trang man, chúng tôi có thể biết rằng chown $USER:$USER
thay đổi chủ sở hữu và nhóm tệp mục tiêu thành $USER
, trong khi chown $USER
chỉ thay đổi chủ sở hữu của tệp mục tiêu thành $USER
, giữ nguyên nhóm của tệp mục tiêu.
Chi tiết (từ trang nam) theo dõi:
Owner is unchanged if missing. Group is unchanged if missing, but changed to
login group if implied by a ':' following a symbolic OWNER. OWNER and GROUP may
be numeric as well as symbolic.
Vì vậy, chown $USER:$USER
có thể được rút ngắn như chown $USER:
.
Các đầu ra như root root
từ namei -l
lệnh có nghĩa là cả chủ sở hữu và nhóm của tệp đó đều được đặt thành root
. Đó không phải là chủ sở hữu được xác định hoặc liệt kê hai lần. Chủ sở hữu và nhóm là hai khái niệm liên quan nhưng khác nhau. Và một tập tin luôn có chủ sở hữu và một nhóm.
Đối với việc sử dụng chown
lệnh, rất cần có đặc quyền siêu người dùng, vì người ta có khả năng chuyển giao quyền sở hữu của một tệp khi sử dụng chown
lệnh. Tuy nhiên, đó không phải lúc nào cũng là sự thật.
Giả sử, chúng tôi có một người dùng có tên 'test', người thuộc một số nhóm. id
lệnh cho đầu ra sau:
uid=1000(test) gid=1000(test) groups=1000(test),4(adm),24(cdrom),27(sudo),30(dip),46(plugdev),108(lpadmin),110(sambashare)
Và người dùng 'kiểm tra' sở hữu tệp sau:
-rw-r--r-- 1 test test 0 May 27 23:34 test_file
Sau đó, chúng ta có thể thay đổi nhóm test_file
thành sambashare
không có đặc quyền siêu người dùng, vì người dùng 'thử nghiệm' thuộc nhóm 'thử nghiệm' và nhóm 'sambashare' cùng lúc, người dùng 'thử nghiệm' đã sở hữu đủ quyền để thay đổi nhóm tệp.