DMZ 上のサーバーのシステムファイルを、LAN 上のマシンへバックアップしたいが、一部の一般ユーザーにアクセス権を付与していないファイルをどうバックアップするか、という話。
状況:
- サーバーへ、root ログインなどさせたくない
- クライアント側からユーザー権限でアクセスして rsync を走らせるのでは sync できない。
- DMZ のサーバーなので、サーバーからLAN へのアクセスをさせたくないため、sudo つきのコマンドを cron で回すわけにも行かない
やったこと:
- apache2 の実行ユーザーのグループへバックアップユーザーを追加し、php で作成されるファイルにはグループ向けの読み込み属性をつけておく。
- root の cron で、システム設定ファイル等のバックアップをバックアップユーザー権限のファイルに固めて、バックアップユーザーの読めるディレクトリへ移す。
- バックアップユーザーで rsync を走らせる
なんか綺麗じゃないな…
でも睡眠時間を削るほどのことでもないので気にしないことにしよう。
意外と、DMZ 面倒くさい。