rsync, не устанавливающий корректный UID и GID на целевых файлах

Я тестирую, использую ли я корректные опции на rsync потому что я хочу скопировать большую сумму файлов с моего старого сервера на новый сервер, сохраняющий точные полномочия.

На старом сервере файл существует как это:

$ ll -n
total 0
-rw-r--r-- 1 1002 1000 0 Jan  9 22:56 testfile

Затем я использую rsync скопировать файл как это:

$ rsync -e ssh -avP . 10.10.10.254:/home/someuser/test
Enter passphrase for key 'newserver.key':
sending incremental file list
./
testfile
           0 100%    0.00kB/s    0:00:00 (xfer#1, to-check=0/2)

sent 125 bytes  received 34 bytes  28.91 bytes/sec
total size is 0  speedup is 0.00

На новом сервере нет никакого пользователя с идентификатором 1002 и никакого пользователя с тем же именем. Файл создается как это:

$ ll -n
total 0
-rw-r--r-- 1 10001 10001 0 Jan  9 23:56 testfile

Интересно, почему файл не создается с идентификатором 1002 1000, начиная с -a (архив) опция включает -o (владелец), -g (группа) и -p (в полномочиях) и странице справочника говорится

Если у пользователя или группы нет имени в исходной системе, или она не имеет никакого соответствия в целевой системе, то числовой идентификатор от исходной системы используется вместо этого.

Даже если я вручную добавляю --numeric-ids переключатель (который я на самом деле не хочу), результат справедлив

$ ll -n
total 0
-rw-r--r-- 1 10001 1000 0 Jan  9 23:56 testfile

таким образом, это только сохранило GID, не UID

0
задан 10 January 2016 в 15:41

1 ответ

rsync должен работать с root полномочия на целевой машине.

Опция 1: включите вход в систему SSH для root пользователь и затем укажите root@<IP> для входа в систему.

Опция 2: используйте rsync с sudo как описанный в этом вопросе .

1
ответ дан 29 September 2019 в 16:41

Другие вопросы по тегам:

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