在Apache MPM ITK中使用AssignUserId作为variables

我听说Apache的MPM-ITK模块可以改变Apache服务器的行为,使用UID或GID从默认的UID( www-data )访问某个文件夹/文件到configuration中给定的UID。

例如:

 <IfModule mpm_itk_module> AssignUserId user group </IfModule> 

是否有可能使用户名和组variables?

我想让Apache访问/home文件夹作为它的所有者。 例如/home/me只能由用户访问me ,而/home/you只能访问you

从Apache 2.4开始,mpm-itk具有AssignUserIDExprAssignGroupIDExpr指令,允许在dynamic定义用户和组时使用Apacheexpression式。 结合mod重写它可能会做你想要的。

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

我还没有尝试在Apache中使用每个LocationDirectory AssignUserId ,但是它适用于不同的虚拟主机,如下所示:

 <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> 

你可以使用mod_macro

定义一个VirtualHostmacros用于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