3

rsyncを使用してバックアップしたい標準のgitosisセットアップがあります。私がしようとすると:

rsync -avz git@192.168.0.2:/home/git git_origin/

また

rsync -avz --rsync-path 'sudo rsync' 192.168.0.2:/home/git git_origin/

リポジトリファイルには対応していません。「git」ユーザーがパスワードを持たず、 /home/git/repositories ディレクトリ構造内のすべてのファイルの完全な所有権を持っていることと関係があることは間違いありません。「ssh git」または「su git」ができないため、正しい権限レベルを達成できません。

では、rsync を使用してすべての gitosis リポジトリをバックアップするにはどうすればよいでしょうか?

4

3 に答える 3

1

IMOの最も簡単な方法authorized_keysは、gitユーザーのファイルにカスタムキーを追加することです。

(ほとんどのLinuxシステムで)### autogenerated by gitosis, DO NOT EDIT下のrootユーザーとして言う行の上にエントリを追加すると、準備が整います。/home/git/.ssh/authorized_keysGitosisはデフォルトで、authorized_keysファイルを再生成するときにファイルへのカスタムエントリを無視します。

サーバーをさらにロックダウンしたい場合はcommand=、キーエントリの前にいつでもカスタムディレクティブを追加できます。「rsyncssh lock down」をグーグルすると、http://sixohthree.com/1458/locking-down-rsync-using-sshが表示されます。最初のヒットとして、それはあなたが始めるはずです。

(user-> root-> gitスイッチのように)ランダムなユーザー切り替えフープを飛び越えずにrsyncを介してファイルを取得する他の唯一の方法は、sshを使用してrootユーザーとして接続し、それを使用してファイルを取得することです。

rootユーザーとして実行することと、カスタムエントリを提供することによってgitユーザーとしてsshを実行することの両方で、authorized_keysrsyncするファイルにアクセスするために必要なアクセス許可が与えられるはずです。

于 2011-04-21T18:15:17.160 に答える
0

カスタマイズしたスクリプトの開始にこのスクリプトを使用していましたが、

--rsync-path='sudo /usr/bin/rsync'

多分それは助けることができますか?

于 2011-04-16T21:52:37.500 に答える