2013-08-01 39 views
6

Cách thay đổi quyền sở hữu tệp trong chính bản sao. Ý tôi là trong câu hỏi cp cách thêm quyền sở hữuThay đổi quyền sở hữu tệp trong khi sao chép

Tôi không thể dựa vào --preserve và sao chép tệp và sau đó thay đổi quyền sở hữu tệp do một số ràng buộc. Cảm ơn

+1

tại sao bạn không thể áp dụng quyền sở hữu mới sau khi sao chép? –

Trả lời

2

Không dễ dàng. Bạn có thể chạy lệnh cp làm người dùng bạn muốn sở hữu tệp mới hoặc sao chép sang một vị trí tạm thời, chown rồi sao chép nó đến nơi muốn, nhưng cp chính nó thiếu chown.

2

Không phải là câu trả lời trực tiếp cho câu hỏi của bạn, nhưng nếu bạn có sẵn GNU cpio, bạn có thể sử dụng nó (ở chế độ sao chép) để sao chép tệp trong khi thay đổi quyền sở hữu. ví dụ.

echo 'some_file_name' | cpio -p --owner someuser:somegroup destination_directory 
1

Như đã trình bày ở đây: https://unix.stackexchange.com/questions/124855/move-files-and-change-ownership-at-the-sametime

Sử dụng rsync (1):

rsync \ 
    --remove-source-files \ 
    --chown=wanteduser:wantedgroup \ 
    /home/oldfolder /home/newfolder 
+2

Giải pháp mát, được sao chép/dán trung thực từ nguồn được trích dẫn. Tuy nhiên, OP muốn _copy_ và đặt quyền sở hữu, chứ không phải _move_. Bạn sẽ cần xóa '--remove-source-files'. Tôi cũng cần thêm '-og' để làm cho nó hoạt động (xem phần trên' --usermap' trong trang rsync man). –

1

Tôi tận dụng một cách giải quyết với lệnh "scp":

scp -p file.txt <user>@localhost:<destination> 

dụ:

scp -p /home/reportuser/dailyReport.doc [email protected]:/root/dailyReports/20150105/ 

-p để lưu giữ dấu thời gian tệp nguồn

Các vấn đề liên quan