Предположим, два сайта А и B с файловым сервером на обоих концах. Содержание /storage
должны быть синхронизированы между сайтами с сохранением прав собственности и разрешений. Не существует всеобъемлющей группы, которая владеет всеми файлами в /storage
. Если запущен Unison или rsync pid = 0, синхронизация выполняется тривиально. Однако SSH должен использоваться в качестве транспорта, и по очевидным причинам вход в систему SSH root был отключен на обоих концах.
Как мне сохранить синхронизацию A и B со всеми разрешениями, сохраненными в этой ситуации. Я могу придумать два метода:
sudo
оболочка для Unison или rsyncОтветы на вопрос Удаленно использовать root через ssh для унисон Предлагаем включить root-вход с использованием pubkey без пароля через SSH - я не очень в восторге от этого решения.
Есть другие идеи?
Вход в систему с открытым ключом root через SSH, вероятно, ваш лучший выбор. Кроме того, вы можете ограничить этот доступ одним хостом:
AllowUsers root@192.0.2.123
Или даже использовать Match
директива для получения уникальной конфигурации для заданного чего-либо (адреса, пользователя и т. д.):
Match Address 192.0.2.123
PasswordAuthentication no
RSAAuthentication yes
PubkeyAuthentication yes
PermitRootLogin yes
Как запустить удаленный экземпляр unison от имени root:
не трогайте свою конфигурацию sshd, особенно не создавайте никаких специальная синхронизация [ssh] пользователь как вы указываете в своем вопросе
создать оболочку sudo vi sunison
:
#!/data/data/com.termux/files/usr/bin/bash
su --preserve-environment -c `which unison` "$@"
(да, это для среды Termux, упростите под свои нужды)
-servercmd sunison
servercmd = sunison
servercmd = sudo unison
было бы лучше, но у меня это не сработало