У меня проблема с тем, что rsync не устанавливает UID и GID, как ожидалось , я чувствую, что rsync
должен быть запущен как root
на целевом компьютере.
Я не могу войти как root
через SSH, так как это отключено в целях безопасности. Пользователь на целевой машине может использовать sudo
.
Можно ли использовать rsync
с sudo
?
permissions
rsync
Томас Веллер
источник
источник
-e="ssh -i $PRIVATE_KEY_PATH" --rsync-path="sudo rsync"
/etc/sudoers
шла в конце файла (или после любых групповых правил, которые могут повлиять на одного и того же пользователя), и решила проблему для меня.<username> ALL=NOPASSWD:<path to rsync> <args>
но я не знаю, что это за аргументы при удаленном вызове. Любые идеи?Вы можете попросить удаленный sudo попросить вас ввести пароль через X-windows. Вот способ сделать это:
ssh-askpass
установлен на удаленном хосте (и, конечно, вы используете X-windows)/etc/sudo.conf
:Добавьте эти параметры в rsync:
-e "ssh -X" --rsync-path="sudo -A rsync"
ssh -X
перенаправит вашу информацию X-windows и порт на ваш удаленный сеансsudo -A
заставит sudo использовать ssh-askpass, чтобы спросить ваш парольисточник
Мое решение состоит в том, чтобы использовать
--rsync-path="sudo rsync"
, если он запрашивает пароль, вы можете использовать обходной путь, как это:Но это не безопасно, чтобы ввести пароль в командной строке.
источник