【mod_ruid2】apacheで作成されたファイルにFTPユーザーがアクセスできない問題を解決する

apacheが作成するファイルにFTP権限でアクセスしたい

apacheが作成するファイルのユーザーグループをFTPユーザーにする

apacheのモジュールで解決する

・mod_ruid2

epelをインストールする

# yum install epel-release.noarch

mod_ruid2をインストールする

# yum install --enablerepo=epel mod_ruid2.x86_64

mod_ruid2を有効化

とりあえず80番ポートのみに適用

 

apacheの設定を変更する

<VirtualHost xxx.xxx.xxx.xxx:80>
ServerName example.com
ServerAlias www.example.com
DocumentRoot /home/poyopoyo/example/DocumentRoot/
</VirtualHost>

----------【ここからがmod_ruid2の設定】----------

<Directory "/home/poyopoyo/example/DocumentRoot/test_file">   ←   mod_ruid2を設定したい階層
    <IfModule mod_ruid2.c>
        RMode   config
        RUidGid poyopoyo.example poyopoyo.example   ←   作成されるファイルのユーザーグループを指定
    </IfModule>
</Directory>

----------【ここまでがmod_ruid2の設定】----------

 

apacheリロード

 

実際にファイルを作成してみる

PHPでファイルを作成する

ディレクトリはさっき設定した階層

/home/poyopoyo/example/DocumentRoot/test_file

 

以下のPHPでファイルを作成する
test.php

<?php
 touch('file.txt');
 echo "OK";
?>

 

ブラウザで実行
http://example.com/test_file/test.php

file.txtというファイルが生成された

ユーザーグループがさっき設定したものになっていれば成功

 

実行権限はapacheでapacheで生成されるファイルのユーザーグループが設定したものになる

 

 

コメント

タイトルとURLをコピーしました