0

osx 10.6.8 ワークステーションから rsync を LaunchDaemon として実行して、データを Ubuntu 11.1 サーバーにバックアップしています。plist ファイルを /Library/LaunchDaemons に配置しているため、root として実行されます。残念ながら、コマンドにはサーバーの root パスワードが必要なため、失敗します。自分自身をユーザーとして実行すると、rsync はアカウント用に 2 台のマシン間で設定した ssh キーを使用しますが、リストする権限がないため、osX マシンで完全なファイル リストを作成できません。他のユーザーのディレクトリ。

いくつかの可能性がありますが、どちらも方法がわかりません。

-1- osx で、自分自身のユーザー名でデーモンを実行できるように、他のユーザーのディレクトリを一覧表示する権限を自分自身に付与するにはどうすればよいですか?
または
-2- rsync デーモンをルートとして実行する場合、安全な方法で両方のマシンのルート アカウント間で ssh キーを設定できますか? あるいは、比較的安全な方法でパスワードをデーモン ジョブに自動的に入力できますか?

4

2 に答える 2

0

先端をありがとう。キーをサーバーのルートsshキーの適切な場所にコピーしました。コマンドラインでosXマシンからサーバーにsshおよびrsyncを実行できましたが、launchDaemonから直接実行することはできませんでした。コマンドラインのrsyncコマンドには-e"ssh-i / path / to / my / key / id_dsa"引数が必要でしたが、bashコマンドを入力する以外に、これらの引用符をplistファイルに含める方法がわかりませんでした。次のように:

<key>ProgramArguments</key>
<array>
    <string>/bin/bash</string>
    <string>-c</string>
    <string>/usr/bin/rsync -avz /Users/myusername/Documents -e "ssh -i /Users/myusername/.ssh/id_dsa" server:/media/Backup/backup/</string>
</array>
于 2013-01-29T07:19:24.503 に答える
0

rootアカウントでキーを使用するための2つの簡単な可能性があります。

  1. sshキーをrootアカウントのsshディレクトリ(/var/root/.ssh)にコピーします。
  2. sshコマンドでsshキーを明示的に指定します。次のようになります。

    <key>ProgramArguments</key>
    <array>
        <string>/usr/bin/rsync</string>
        <string>-i</string>
        <string>/Users/thomashollier/.ssh/id_rsa</string>
        <string>...etc...</string>
    <array>
    
于 2013-01-28T20:20:02.450 に答える