当HPはapacheユーザーで動かしていません。
/var/lib/php/session等、アップデートが入るたびにパーミッション・ユーザー権限が初期値にもどってめんどくせぇ!
というわけで、そんな時用に今回、初めての自作シェルスクリプトに挑戦しました。
挙動としては、/var/lib/phpを参照し、grepでsessionディレクトリだけを抽出します。その抽出結果の中に、ユーザー権限が初期値(root apache)になってる物を検出。
初期値に戻っていれば変更を加え、戻っていなければ何もせず終了します。
/var/www/htmlディレクトリも同じ用な挙動になります。
何故かroot rootになってFTPアップロード出来なくなることが有りましたので。
実際こちらで使うのは、yumコマンドでアップデートを行い、自動的に変更されたディレクトリを元に戻す。という一連の作業をcronで動かすためです。
お役に立てるようでしたらどうぞ利用下さい。
2014/12/10 …シェルスクリプトを更新 yum updateの後にアクセス権限を修正します。
#!/bin/sh
#
#User setting
#The default setting is [apache]. Please change as necessary.
USER=apache
yum update -y
echo permission check……/var/lib/php/sessions
if `ls -la /var/lib/php |grep session |grep -q “root apache” `;
then
echo Permission of target diretory is not appropriate.
ls -la /var/lib/php |grep session
chown -R root.${USER} /var/lib/php/session
echo I changed the permissions automatically.
ls -la /var/lib/php |grep session
echo
echo Finish
else
echo Location to be changed was not found.
ls -la /var/lib/php |grep session
fi
echo permission check……/var/www/html
if `ls -la /var/www |grep html |grep -q “${USER} ${USER}” `;
then
echo Location to be changed was not found.
ls -la /var/www |grep html
echo Finish
else
echo Permission of target diretory is not appropriate.
ls -la /var/www |grep html
chown ${USER}.${USER} /var/www/html
echo I changed the permissions automatically.
ls -la /var/www |grep html
echo
echo Finish
fi