sudo rsyncでroot権限のファイル転送を行う

Facebooktwittergoogle_plusmail

sshでの公開鍵認証を利用してパスワード無しでログインができるようになりました。

sshの公開鍵認証でパスワード入力を省略する
https://www.rootlinks.net/2016/01/30/sshの公開鍵認証でパスワード入力を省略する/

今回はhost02のデータをhost01にファイル転送を行います。
1. host01のrootでrsyncを実行
2. host02のsshはrootログオン拒否なので一般ユーザmatsuokaでログイン
3. matsuokaへのログインは公開鍵でパスワード省略
4. host02のrsyncはsudoでroot権限で実行(host02の全てのデータがhost01に転送可能)

参考サイト
root権限でrsyncによるファイル転送を行う
http://qiita.com/tkyk@github/items/7f1216088b789d0538fb

  1. host02のsudo設定
  2. host02のmatsuokaはrsyncをパスワード無しでsudo実行可能に設定。
    またrsyncはtty無しで(端末にログインしていなくても)実行可能に設定。

  3. host01にrootでログイン
  4. host01にrootでログインしてrsyncを実行します。

    転送元データ(host02)

    転送先データ(host01)

    転送元のフォルダ、ファイルがrootのみのアクセス権でも転送ができました。

[1. host01のrootでrsyncを実行]が不可能な場合は一般ユーザmatsuokaでフィル転送できるようにします。

参考サイトにあるようにhost01のvisudo(/etc/sudoers)でDefaults env_keep += “SSH_AUTH_SOCK”を追加します。

またhost01のmatsuokaはパスワード無しでsudo rsyncが実行できるように設定します。

host01のmatsuokaでsudo rsyncを実行してhost02のファイルを転送します。

これでhost01, host02ともに一般ユーザmatsuokaでroot権限のrsyncが実行できたのでhost02の全てのファイルをバックアップすることが可能になりました。

さらに全てのパスワード入力が省略できたのでrootまたはmatsuokaのcron jobでスケジュール実行が可能になります。

Leave a Reply