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

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

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

・mod_ruid2

目次

  1. epelをインストールする
  2. mod_ruid2をインストールする
  3. mod_ruid2を有効化
    1. 実際にファイルを作成してみる

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](https://web.archive.org/web/20200925222816/http://check.kizuna- group.jp/20191223@test_file/test.php)

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

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

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