Назад | Перейти на главную страницу

unison как пользователь без полномочий root

Я хочу использовать unison для синхронизации каталогов / home между двумя устройствами EL6.

В большинстве описаний предполагается, что unison запускается от имени пользователя root и может использовать ssh между двумя полями как root. Однако мы отключили вход в систему с правами root как в / etc / passwd, так и в /etc/login.block. Подключение через ssh от имени root отключено в sshd_config.

Есть ли общий и / или установленный метод унисонной синхронизации чего-то вроде / home без необходимости входа в систему root?

У меня была одна мысль:

  1. настроить uid: gid unison: unison на обоих боксах
  2. настроить пару ключей ssh ​​для uid unison.
  3. настроить unison / .ssh / authorized_keys так, чтобы с удаленного можно было запускать только unison
  4. настроить acl на / home setfacl -R -m d: g: unison: rwx, g: unison: rwx / home
  5. настроить задание cron так, чтобы оно выполнялось как uid 'unison'.

но я надеюсь, что есть лучший, более общепринятый способ

Спасибо!

какой Я обычно делаю заключается в создании ролевых учетных записей.

  1. Создайте ролевую учетную запись (на самом деле просто другого пользователя, но у нас есть зарезервированное uid-пространство для этого) - вероятно, то, что вы использовали с unison
  2. использовать ~unison/.ssh/authorized/keys с ограничивающим шаблоном вроде `force-command =" / usr / local / bin / unison-homesync.sh "
  3. записывать /usr/local/bin/unison-homesync.sh
  4. используйте sudo для необходимых привилегированных действий

Плюсы:

  • Для входа в систему не требуется root
  • sudo упрощает использование привилегированных действий
  • написание сценария оболочки позволяет легко находиться в контролируемой среде

Минусы:

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