rsnapshotリモートサーバー - 特権のベストプラクティス

rsnapshotリモートサーバー - 特権のベストプラクティス

毎日RSnapshotを取得できるように、リモートサーバーにSSHキーベースのログインを設定しようとしています。私が使用しているキーは通常のユーザーキーですが、明らかにrootアクセス権がないため、rsnapshotがユーザーキーを使用してサーバーに接続すると、たとえば/ rootはバックアップされません。最も簡単な方法でRSnapshotを設定する最良の方法は何ですか?一般的なバックアップユーザーを作成してホイールグループに追加して終了する必要がありますか?

答え1

あまり簡単ではないアプローチは、接続rootに使用されるキーを実行のみに制限することですrsync。これには/root/.ssh/authorized_keys次のような項目が必要です。

 from="192.0.2.*",command="/root/limit-rsnap" ssh-rsa AAAAB3N...

これは意図されたバックアップソース(すべての設定には適していない可能性があります)を制限します/root/limit-rsnaprsync

#!/bin/bash

shopt -s extglob

test -n "$SSH_ORIGINAL_COMMAND" || exit 1

case "$SSH_ORIGINAL_COMMAND" in
  'rsync --server --sender -'+([vnlHogDtprRxe.isfLS])' --numeric-ids . '*)
    RSYNCPATH="${SSH_ORIGINAL_COMMAND#rsync --server --sender -+([vnlHogDtprRxe.isfLS]) --numeric-ids . }"
    test -e "$RSYNCPATH" && exec $SSH_ORIGINAL_COMMAND || exit 1
    ;;
  *)
    exit 1
  ;;
esac

関連情報