Как скопировать файл из одного использования в другое?

fsck уже выполняется в initrd / initramfs (после нечистого завершения работы требуется на несколько секунд больше при большой активности диска на этом этапе, когда кажется, что журнал воспроизводится повторно), и, таким образом, когда обычные, более подробные проверки файловой системы выполняются из основной системы, она уже чиста.

1
24.08.2016, 13:39
1 ответ

Вы можете (как user1 ) что-то делать как

sudo -u website cat ~website/somefile > ~user1/somefile

Обратите внимание, что ~ user1 / somefile сначала будет создан пользователем, запустившим оболочку ( user1 ), а cat будет выполняться как ] website

Вы можете использовать tar (1) с тем же трюком для нескольких файлов:

sudo -u website tar cf - ~website/foo ~website/bar | tar xf -

Запустите как user1 в его каталоге, который «создаст» tar-архив на stdout как website , а другой tar (без sudo, поэтому запущенный от имени того же пользователя, что и тот, у кого запущена оболочка, то есть user1 ) распакует этот виртуальный tar-файл в текущий каталог (в который user1 может писать).

ОБНОВЛЕНИЕ Обратите внимание, что tar создаст подкаталоги, ведущие к файлу, вы можете уменьшить это поведение, указав -C , чтобы tar входил в указанный каталог перед запуском:

sudo -u website tar -C ~website -cf - foo bar | tar xf -

Таким образом, ] foo и bar будут созданы в текущем каталоге без ведущих подкаталогов (но если вы добавите blah / baz , это создаст blah как подкаталог в который baz находится)

1
27.01.2020, 23:47

Теги

Похожие вопросы