`Chown root.root $ file` nghĩa là gì?


7

Tôi đang cố gắng cài đặt colordifftrong một thư mục tùy chỉnh vì tôi không có sudođặc quyền. Tôi đã làm cho các thư mục được mã hóa cứng trong Makefile như đã nêu trong README, nhưng tôi đang gặp lỗi này:

...
chown root.root /share/edu-mei/colordiff/1.0.13/etc/colordiffrc
chown: changing ownership of `/share/edu-mei/colordiff/1.0.13/etc/colordiffrc': Operation not permitted
make: [install] Error 1 (ignored)
...

Thay đổi quyền sở hữu tệp này không thực sự là một vấn đề (có lẽ là lý do mà tác giả bỏ qua điều này). Tuy nhiên tôi không quen với việc sử dụng này chown.

Trang man từ chown nói rằng cú pháp lệnh là:

chown [OPTION]... [OWNER][:[GROUP]] FILE...
chown [OPTION]... --reference=RFILE FILE...

Nhưng lệnh được thực thi là chown root.root $file.

Cú pháp với dấu chấm chứ không phải dấu hai chấm nghĩa là gì?


Dấu chấm thay vì dấu hai chấm cũng có giá trị. Tôi nghĩ đó là về nó.
TNW

Các câu trả lời dưới đây giải thích cú pháp, nhưng lệnh này không thành công vì không phải là root, bạn không thể thay đổi quyền sở hữu thành root.
depquid

@depquid thật dễ dàng để tìm ra cú pháp được làm rõ. Rốt cuộc, câu hỏi của tôi không phải là về lỗi.
RSFalcon7

Câu trả lời:


11

Nó đặt người sử dụng và nhóm $fileđể root(như trong chown OWNER.GROUP FILE...). Nó giống như gọi chown root:root $file, nhưng một hình thức cũ hơn.

Thời gian được thay thế bằng dấu hai chấm, đưa ra chown OWNER:GROUP FILE...như tài liệu, bởi vì thời gian có thể xuất hiện trong tên người dùng / nhóm.


4
Cần lưu ý cho đầy đủ rằng nguyên nhân một dấu hai chấm được sử dụng là nó không thể xuất hiện trong một người dùng hoặc nhóm tên, như mô tả ở đây: unix.stackexchange.com/a/6531/1078
CAMH

1
as documentedbạn có thể cho một liên kết? Android dường như cũng sử dụng dấu chấm và từ chối dấu hai chấm, điều này cũng không rõ tại sao.
n611x007

2
@naxa Câu hỏi ban đầu bao gồm tài liệu về biến thể chmod của người hỏi : chown [OPTION]... [OWNER][:[GROUP]] FILE..., trong đó chỉ hiển thị rõ ràng một dấu hai chấm. Android có thể có một trong nhiều biến thể chown khác nhau; Busybox chown là phổ biến và hỗ trợ cả .: . Những người khác có thể cư xử khác nhau.
mrb

4

"Chown user.group file" là cách cũ để sử dụng chown để đặt cả người dùng và nhóm cho một tệp. Ký hiệu này hiện không được chấp nhận và thay vào đó, bạn nên sử dụng ":", như trong "chown user: group file".

"$ file" chỉ là biến shell. Có lẽ bạn có một kịch bản lặp lại một lệnh (chown) cho một danh sách tên tệp. Biến "$ file" sẽ chứa tên tệp hiện đang được xử lý và sẽ thay đổi cho mỗi "vòng" tập lệnh lặp, cho đến khi danh sách (tất cả tên tệp) đã được xử lý (đã nhận được chủ sở hữu và nhóm của chúng được đặt thành root: root) .


$filelà cách riêng của tôi để thể hiện tên tệp
RSFalcon7
Khi sử dụng trang web của chúng tôi, bạn xác nhận rằng bạn đã đọc và hiểu Chính sách cookieChính sách bảo mật của chúng tôi.
Licensed under cc by-sa 3.0 with attribution required.