1

Как я могу изменить права доступа пользователя, чтобы пользователь мог выполнять rsync между двумя системами в качестве пользователя root?

Я добавил пользователя в visudo.

paru ALL = NOPASSWD: /usr /bin /rsync

затем я набрал команду rsync в 1 системе для передачи данных с одного сервера на другой

rsync -avP /opt / paru / paru@105.1.167.412:/opt / paru

Когда я Rsync, это дает мне следующую ошибку:

отправка инкрементного списка файлов (Пока получено 9 байт) [отправитель] Ошибка rsync: ошибка в потоке данных протокола rsync (код 12) в io.c (600) [отправитель = 3.0.6]

Что я должен сделать, чтобы пользователь paru мог rsync между двумя системами от имени root?

2 ответа2

1

У меня просто была эта проблема при попытке сделать резервную копию на rsync.net. Они сказали мне, что последняя часть, после двоеточия ":", должна быть локальным путем.

rsync -avP /opt / paru / paru@105.1.167.412:/opt / paru

становится

rsync -avP /opt / paru / paru@105.1.167.412:opt / paru

0

Одним из способов является подключение к удаленной системе от имени пользователя root.

Не используйте для этого аутентификацию по паролю, поэтому убедитесь, что для sshd_config на целевом компьютере установлено значение PermitRootLogin without-password . Затем в удаленной системе добавьте ключ ssh в файл author_keys пользователя root. Загрузите этот ssh-ключ в ssh-агент локального пользователя.

Тогда вы можете просто rsync, как это:

rsync -avP /opt/paru/ root@105.1.167.412:/opt/paru

Использование sudo сравнению с учетной записью root не дает никаких преимуществ с точки зрения безопасности, поскольку пользователь paru в удаленной системе может легко использовать свои права sudo для повышения уровня доступа к root в любом случае.

Другой метод, который делает использование sudo будет описан здесь. Я всегда предпочитал вышеупомянутый метод, хотя, для простоты.

Всё ещё ищете ответ? Посмотрите другие вопросы с метками .