ファイルの所有者を監視するスクリプト

2021-07-08

ファイルの所有権を変更されていないか監視するスクリプト

PHPでファイルの書込み処理をするプログラムがあって、そのファイルの所有権が「apaceh」以外だとパーミッションエラーとなり書込みが失敗するので、ファイルの所有者がApacheから変更されていないか監視するスクリプトを作りました。

このファイルがFTPでアクセスできるので、ファイルを削除・アップロードされたりするとアップロードしたFTPユーザーの所有者になるので、下記のスクリプトを作って、Cronで5分おきにぐらいに監視するようにしました。

#!/bin/bash

FILE='/var/www/html/file/test.txt'

USER=` ls -l $FILE | awk '{print $3}'`

if [ $USER != "apache" ] ; then
  chown apache $FILE
fi

ファイルの所有者は「apache」以外の場合は、chownコマンドでapacheに変更するようにしています。
一般ユーザーでは、chownで変更できない場合もあるので、「root」のcronで実行するほうが良いかと思います