2

rsyncコマンド内でサーバーのパスワードを指定することは可能ですか?

rsync -zvr source destination password

rsyncプロトコルを使用してDjangoでWebアプリケーションを開発しています。フォームを使用して、ユーザーからパスワードを入力します。rsyncコマンド自体でこのようなパスワードを使用したいですか?どうすればいいですか?stdin、pipeなどを使用する方法があると確信しています。ありがとう

4

1 に答える 1

1

からman rsync:

リモート デーモンの一部のモジュールでは、認証が必要になる場合があります。その場合、接続時にパスワード プロンプトが表示されます。環境変数RSYNC_PASSWORDを使用するパスワードに設定するか、--password-fileオプションを使用することで、パスワード プロンプトを回避できます。これは、rsync のスクリプトを作成するときに役立つ場合があります。

そしてに関して--password-file

このオプションを使用すると、リモート rsync デーモンにアクセスするためのファイルにパスワードを指定できます。このオプションは、トランスポートとしてリモート シェルを使用する場合ではなく、組み込みのトランスポートを使用して rsync デーモンにアクセスする場合にのみ役立つことに注意してください。ファイルは誰でも読み取り可能であってはなりません。パスワードのみを 1 行に含める必要があります。

したがって、RSYNC_PASSWORDを呼び出す前に環境変数を設定するかrsync、一時ファイルを使用してコマンドに渡します。最初のオプションは、次を使用しておそらく簡単ですenv

env RSYNC_PASSWORD=PASSWORD rsync -zvr source destination

更新:この小さなナゲットの下に注意してください--password-file

このオプションは、トランスポートとしてリモート シェルを使用する場合ではなく、組み込みのトランスポートを使用して rsync デーモンにアクセスする場合にのみ役立つことに注意してください。

組み込みのトランスポートを使用していないrsyncが、おそらく SSH を使用している場合、この方法を使用して「自動的に」認証することはできません。SSH を使用している場合は、公開鍵/秘密鍵を使用するか、場合によってはASK_SSHPASSトリック (これを参照) を使用する必要があります。

于 2012-11-22T10:10:02.377 に答える