1

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

Каков был бы лучший способ сделать это? Я предполагаю, что заданию резервного копирования нужно будет подключиться как root, но я не хочу включать root ssh-доступ на серверах.

спасибо за любые советы,

оли

PS, все серверы работают под управлением UBUNTU Server 12.04 LTS и находятся за межсетевым экраном университета.

2 ответа2

1

Если у вас просто нет root-доступа по ssh, но у вас есть права sudo(8) на машине, вы можете это сделать.

Например, поместив username ALL= NOPASSWD:/usr/bin/rsync в /etc/sudoers на удаленном хосте и выполнив:

rsync -a -e "ssh" --rsync-path="sudo rsync" localdir/ username@remote.example.com:/remotedir

Посмотрите этот ответ для деталей и больше вариантов сделать это.

Кроме того, поскольку пользователи еще не существуют в удаленном режиме, вам нужно использовать --numeric-ids в строке rsync чтобы они сохранялись (но вы увидите их имена и группы только после синхронизации /etc / конечно, /etc/passwd и /etc/group )

0

Ты не можешь. Linux ТРЕБУЕТ, чтобы у вас был root-доступ для сохранения файла от имени любого пользователя, кроме вас самих. ЕДИНСТВЕННЫЙ обходной путь - это архивировать его, а затем передавать архив на сервер.

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