Используя Унисон / rsync по SSH для синхронизации сайтов, где доступ целой файловой системы требуется, отключен все же корневой вход в систему

Примите два сайта A и B с файловым сервером с обоих концов. Содержание /storage должен синхронизироваться между сайтами, сохраняя владение и полномочия. Нет всей группы затрагивания, в которой группа - владеет всеми файлами /storage. Если выполнение Унисона или rsync pid=0 это тривиально, чтобы сделать синхронизацию. Однако SSH должен использоваться в качестве транспорта, и по очевидным причинам корневой вход в систему SSH был отключен на обоих концах.

Как я могу сохранить A и B синхронизируемыми со всеми полномочиями сохраненный в той ситуации. Два метода я могу думать:

  • При выполнении вторичного SSH, который разрешает, корневые логины все же могут только соединиться по VPN между A и B.
  • добавление специального пользователя синхронизации, какая sshd конфигурация насильственно выполняет a
    • Обертка SUID к Унисону или rsync (опасный для разбираний).
    • sudo обертка к Унисону или rsync

Ответы, данные Вопросу Удаленно, используют корень по ssh для унисона, предлагают включить пароль меньше pubkey корневой вход в систему по SSH – я не очень увлечен из того решения.

Какие-либо другие идеи?

2
задан 13 April 2017 в 15:14
2 ответа

Вход с открытым ключом root через SSH, вероятно, ваш лучший выбор. Кроме того, вы можете ограничить этот доступ одним хостом:

AllowUsers root@192.0.2.123

Или даже использовать директиву Match , чтобы получить уникальную конфигурацию для заданного чего-либо (адреса, пользователя и т. Д.):

Match Address 192.0.2.123
    PasswordAuthentication no
    RSAAuthentication yes
    PubkeyAuthentication yes
    PermitRootLogin yes
1
ответ дан 3 December 2019 в 12:47

Как запустить удаленный унисон экземпляр как root:

Удаленная сторона

  • не трогайте вашу конфигурацию sshd, особенно не создавайте специального пользователя синхронизации [ssh] , как вы указываете в своем вопросе

  • create sudo wrapper vi sunison :

#!/data/data/com.termux/files/usr/bin/bash
su --preserve-environment -c `which unison` "$@"

(да, это для среды Termux, упростите для ваших нужд)

Клиентская сторона

  • работает в унисон с -servercmd sunison
  • или добавьте в свой профиль unison servercmd = sunison

Notes

  • Лучше всего было бы что-то вроде servercmd = sudo unison , но у меня это не сработало
0
ответ дан 3 December 2019 в 12:47

Теги

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