ログファイルとか、自動生成されたものを削除、編集したりしたいときの設定変更
自動生成されるファイルは、所有者が実行者になる
定時バックアップ処理など、マシン側が自動的にやってくれる処理で生成されたファイル(ディレクトリ)の場合、所有者が実行したプログラム自身になってたりする。
今回のケースでは
wordpressの所有者がapacheになっている状態で、backwpupで生成したwordpressのバックアップファイルの所有者とグループが、apache:apache になっていて、FTPクライアントからダウンロードができても削除ができなかった。
ファイルを編集、削除するための方法は2通りある
- ファイルのオーナー、グループを変更する(こちらのほうがよさそう)
- ファイルのパーミッションを変更する
前者は権限は変わらないが、ファイルの所有者を変えることによって操作できるユーザを変更する。
後者はファイル所有者が変わらないが、操作権限が変わるので異なるユーザでも変更作業などが可能になる。
・・・という違い。実施したいことの主旨と、影響を考えると前者のほうが良くなる。(後者の場合、意図せぬユーザからの操作も受け付ける危険がある)
前提条件
対象ファイルは以下の条件を満たす
- 命令実施ディレクトリから見て、backupwpディリレクトリのなかにある
- ファイル名が back で始まり、拡張子がtar.gz である
なお、ファイルを操作させたいユーザ名は ftpuser である。
対象のファイルだけオーナー、グループを変更してみる
従ってこんなコマンドを実施する。(chownの仕様上、スーパーユーザでないと実施不可能)
# find ./backwpwp/ -name back*tar.gz | xargs chown ftpuser:ftpuser
対象のファイルだけパーミッションを変更してみる
# find ./backwpwp/ -name back*tar.gz | xargs chmod 666
動作原理
パイプの前の部分は共通
# find ./backwpwp/ -name back*tar.gz
これ、コマンド実施した階層にあるbackupwp ディレクトリのなかにあるbackではじまりtar.gzで終わるもの(ファイル)の一覧を出しなさい。という意味
パイプより後ろのところだけ異なる
(パイプの前ででてきた) ファイルの所有者、グループを変更しなさい
xargs chown ftpuser:ftpuser
(パイプの前ででてきた) ファイルの操作権限を変更しなさい
xargs chimod 666
#どうしてこんなことする必要が出た
wordpressのプラグインで自動生成されたが、現時点で不要になったファイルがあったため。
WordPressのバックアップ、デプロイの試験をしていたんだけど・・・
Backupwpを使った定期バックアップ処理をしているところで、
duplicatorを使って、デプロイ用ファイルを実施しようとしたところ
Large Filesで警告が出た。(1ファイルで3MB以上だと危険らしい)
原因は自動生成されたバックアップファイルだった
何が原因なのかな、とおもったら、uploadフォルダに入っている
(初期設定の、直接関係ないバックアップファイルをuploadフォルダにはきだす状態のまま使っていることが問題だけど)