web-dev-qa-db-ja.com

Apache MPMITKの変数としてAssignUserIdを使用します

Apache用のMPM-ITKモジュールは、Apacheサーバーの動作を変更して、UIDまたはGIDを使用してデフォルトのUID(www-data)から構成上の特定のUIDにアクセスするフォルダー/ファイルにアクセスできると聞きました。

例えば:

<IfModule mpm_itk_module>
AssignUserId user group
</IfModule>

ユーザー名とグループを変数にすることは可能ですか?

Apacheに所有者として/homeフォルダーにアクセスさせたい。たとえば、/home/meにはユーザーmeのみがアクセスできますが、/home/youにはyouのみにアクセスできます。

1
Saint Robson

Apache 2.4以降、mpm-itkにはAssignUserIDExprおよびAssignGroupIDExprディレクティブがあり、Apache式を使用してユーザーとグループを動的に定義できます。 mod-rewriteと組み合わせると、おそらくあなたが望むことをするでしょう。

http://mpm-itk.sesse.net/

1
David G

mod_macroを使用できます。

1つのVirtualHostマクロを定義し、それをUseで使用します

<Macro Hosting $who>

    <Directory "/home/$who">
        allow from all
        Options +FollowSymLinks
    </Directory>

    <VirtualHost *:80>
        ServerName $who.domain.com
        AssignUserId $who $who
    </VirtualHost>
</Macro>

Use Hosting me
Use Hosting you

ApacheでAssignUserIdまたはLocationごとにDirectoryを使用しようとしたことはありませんが、次のようにさまざまな仮想ホストで機能します。

<VirtualHost *:80>
    ServerName my.domain.com
    DocumentRoot /home/me
    AssignUserID me me
</VirtualHost>

<VirtualHost *:80>
    ServerName your.domain.com
    DocumentRoot /home/you
    AssignUserID you you
</VirtualHost>
0