# Apache: User in der directory Direktive



## rambo (26. September 2010)

Hallo,

ich wollte eine auf dem System nicht existierende UserID (Proftpd mit virtuellen Benutzern) als Benutzer für den Apachen benutzen. Leider funktioniert "User" nicht in der directory Direktive. Und dann weiß ich auch nicht ob das der Apache überhaupt mag, dass ich auf dem System nicht existierende UserIDs benutze.

Meine Frage: Wie schaffe ich es verschiedene Benutzer für verschiedene Verzeichnisse zu benutzen?

Danke im Voraus für eure Antworten!

Gruß
Maximilian


----------



## Arne Buchwald (26. September 2010)

Hi Maximilian,

es empfiehlt sich, einen realen Systembenutzer fuer jeden Account zu haben. Den Benutzer kannst du dann als User im passenden Apache-VHost hinterlegen und zudem auch dessen UID/GID in Verbindung mit ProFTPD(+MySQL) benutzen.

Konkret: groupadd account1234, useradd -g account1234 -s /bin/false account1234 und anschliessend kannst du Username+Group in der Suexec-Angabe des VHosts benutzen.

Viele Gruesse,
Arne


----------



## rambo (26. September 2010)

Danke für die Antwort!

Meine Frage war eher wie ich das in Directory reinbekomme. Auf diesem System ist es eher unvorteilhaft extra Unix-User zu erstellen, da ich das ja nicht umsonst auf MySQL laufen lasse...

MfG, Maximilian


----------



## Arne Buchwald (26. September 2010)

Wenn die Benutzer virtuell in MySQL abgelegt sind (wie es zum Beispiel auch bei syscp zu finden ist), ist das hier eine beispielhafte Notation:

```
SuexecUserGroup "#10017" "#10017"
```


----------



## rambo (26. September 2010)

Vielen Dank, dies hat schon meine 1. bzw. meine 2. Frage geklärt.

Nun habe ich noch das Problem, dass ich das irgendwie nicht in ein Directory hineinbekomme:

```
Restarting web server: apache2We failed to correctly shutdown apache, so we're now killing all running apache processes. This is almost certainly suboptimal, so please make sure your system is working as you'd expect now! (warning).
 ... waiting Syntax error on line 3 of macro 'ob' (defined on line 20 of /etc/apache2/httpd.conf) used on line 1 of /etc/apache2/openbasedir.conf:
SuexecUserGroup not allowed here
 failed!
```

Die httpd.conf:

```
[...]
<VirtualHost *:80>
        AddDefaultCharset ISO-8859-1
        <Directory *>
                Options FollowSymLinks
                AllowOverride FileInfo AuthConfig Indexes Limit
        </Directory>
        ScriptAlias /cgi-bin/ /var/www/cgi-bin/
        <Directory "/var/www/cgi-bin">
                AllowOverride None
                Options +ExecCGI -MultiViews +SymLinksIfOwnerMatch
                Order allow,deny
                Allow from all
        </Directory>
</VirtualHost>
<Macro ob $customer>
<Directory /home/customers/web$customer/>
        php_admin_value open_basedir "/usr/lib/sendmail:/tmp:/home/customers/web$customer/"
#        SuexecUserGroup "#$customer" "#$customer"
</Directory>
</Macro>
Include /etc/apache2/openbasedir.conf
```


----------

