rsyncがUIDとGIDを期待どおりに設定しないという問題があるため、私の直感では、宛先マシン上rsyncで実行する必要がありますroot。
rootセキュリティのために無効になっているため、SSH経由でログインできません。宛先マシンのユーザーはを使用できますsudo。
それを使用することが可能であるrsyncとsudo?
rsyncがUIDとGIDを期待どおりに設定しないという問題があるため、私の直感では、宛先マシン上rsyncで実行する必要がありますroot。
rootセキュリティのために無効になっているため、SSH経由でログインできません。宛先マシンのユーザーはを使用できますsudo。
それを使用することが可能であるrsyncとsudo?
回答:
宛先マシン上
rsync。which rsync/etc/sudoersファイルを編集しますsudo visudo(参照:visudoを使用する必要がありますか?)<username> ALL=NOPASSWD:<path to rsync>、ユーザ名が rsyncは、ログオンに使用するユーザーのログイン名です。そのユーザーは使用できる必要がありますsudo次に、ソースマシンで、sudo rsync使用するものを指定します。
rsync ... --rsync-path="sudo rsync" ...
NOPASSWD宛先マシンでそれを使用せずに使用すると、メッセージが表示されます
sudo:ttyが存在せず、askpassプログラムが指定されていません
-e="ssh -i $PRIVATE_KEY_PATH" --rsync-path="sudo rsync"
/etc/sudoersがファイルの最後(または同じユーザーに影響を与える可能性のあるグループルールの後)に来るようにして、問題を解決しました。
<username> ALL=NOPASSWD:<path to rsync> <args>ますが、このようにリモートで呼び出されたときに引数がどうなるかはわかりません。何か案は?
リモートのsudoにX-windowsからパスワードを尋ねさせることができます。これを行う方法は次のとおりです。
ssh-askpassがリモートホストにインストールされていることを確認してください(もちろん、X-windowsを使用していることを確認してください)/etc/sudo.conf。# Path to askpass helper program
Path askpass /usr/bin/ssh-askpass
これらのオプションをrsyncに追加します。 -e "ssh -X" --rsync-path="sudo -A rsync"
ssh -X X-windows情報とポートをリモートセッションに転送しますsudo -A sudoがssh-askpassを使用してパスワードを要求します