2013-08-01 2 views
6

Как изменить право собственности на файл во время самой копии. Я имею в виду в команде cp, как добавить собственностьИзменение владельца файла во время копирования

Я не могу полагаться на --preserve и копировать файл, а затем изменять права собственности на файл из-за некоторых ограничений. Thanks

+1

Почему вы не можете просто применить новое право собственности после копирования? –

ответ

2

Не легко. Возможно, вы можете запустить команду cp в качестве пользователя, которому вы хотите владеть новым файлом, или скопировать его вбок во временное место, chown, затем скопируйте его туда, где он хочет получить, но cp сам не хватает chown.

2

Непосредственный ответ на ваш вопрос, но если у вас есть GNU cpio, вы можете использовать его (в режиме копирования) для копирования файлов при смене владельца. например.

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

Как указано здесь: https://unix.stackexchange.com/questions/124855/move-files-and-change-ownership-at-the-sametime

Использование Rsync (1):

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

Прохладный решение, добросовестно копировать/вставлять из указанного источника. Однако OP хотел _copy_ и установить право собственности, а не _move_. Вам нужно будет удалить '--remove-source-files'. Мне также нужно было добавить '-og', чтобы он работал (см. Раздел' --usermap' на странице rsync man). –

1

Я использую обходной путь с командой "УПП":

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

пример:

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

-p предназначен для сохранения временного файла исходного файла

Смежные вопросы