I heard that the MPM-ITK module for Apache can change Apache server's behaviour to access some folder / file using the UID or GID from the default UID (www-data) into a given UID on the configuration.

For example:

<IfModule mpm_itk_module>
AssignUserId user group

Is it possible to make the username and group a variable?

I want to make Apache access the /home folder as its owner. For example /home/me can only be accessed by the user me, while /home/you can only be accessed you.

3 Answers 3


You can use mod_macro.

Define one VirtualHost macro an use it with Use

<Macro Hosting $who>

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

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

Use Hosting me
Use Hosting you

From Apache 2.4 on, mpm-itk has the AssignUserIDExpr and AssignGroupIDExpr directives, which allows an Apache expression to be used in dynamically defining a user and group. In combination with mod-rewrite it will probably do what you want.



I haven't tried using AssignUserId per Location or Directory in Apache, but it does work for different virtual hosts, like so:

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

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

You must log in to answer this question.

Not the answer you're looking for? Browse other questions tagged .