Serveur Apache HTTP Version 2.4

| Description: | Répertoires propres à un utilisateur |
|---|---|
| Statut: | Base |
| Identificateur de Module: | userdir_module |
| Fichier Source: | mod_userdir.c |
Ce module permet l'accès aux répertoires propres à un utilisateur en utilisant la syntaxe http://example.com/~utilisateur/.
| Description: | Chemin des répertoires propres à un utilisateur |
|---|---|
| Syntaxe: | UserDir nom-répertoire [nom-répertoire] ... |
| Contexte: | configuration du serveur, serveur virtuel |
| Statut: | Base |
| Module: | mod_userdir |
La directive UserDir permet de définir le répertoire réel du répertoire home d'un utilisateur à utiliser à la réception d'une requête pour un document de cet utilisateur. nom-répertoire peut se présenter sous la forme suivante :
disabled. Toutes les traductions nom d'utilisateur vers répertoire sont alors désactivées, à l'exception de celles comportant le mot-clé enabled (voir ci-dessous).disabled suivi d'une liste de noms d'utilisateurs séparés par des espaces. Les noms d'utilisateurs apparaissant dans une telle liste ne feront jamais l'objet d'une traduction vers un répertoire, même dans le cas où ils apparaîtront dans une clause enabled.enabled suivi d'une liste de noms d'utilisateurs séparés par des espaces. Les noms d'utilisateurs apparaissant dans une telle liste seront traduits en répertoires même dans le cas où une clause disable globale est active, mais pas s'ils apparaissent aussi dans une clause disabled.Si aucun mot-clé enabled ou disabled n'apparait dans la directive Userdir, l'argument est traité en tant que modèle de fichier, et utilisé pour traduire le nom d'utilisateur en une spécification de répertoire. Une requête pour http://www.example.com/~bob/un/deux.html sera traduite en :
| Directive Userdir utilisée | Chemin traduit |
|---|---|
| UserDir public_html | ~bob/public_html/un/deux.html |
| UserDir /usr/web | /usr/web/bob/un/deux.html |
| UserDir /home/*/www | /home/bob/www/un/deux.html |
Les directives suivantes vont envoyer des redirections au client :
| Directive Userdir utilisée | Chemin traduit |
|---|---|
| UserDir http://www.example.com/utilisateurs | http://www.example.com/utilisateurs/bob/un/deux.html |
| UserDir http://www.example.com/*/usr | http://www.example.com/bob/usr/un/deux.html |
| UserDir http://www.example.com/~*/ | http://www.example.com/~bob/un/deux.html |
"UserDir ./" ferait correspondre "/~root" à "/" - ce qui n'est probablement pas souhaité. Il est fortement recommandé d'inclure une déclaration "UserDir disabled root" dans votre configuration. Voir aussi la directive Directory et la page Conseils en matière de sécurité pour plus d'informations.
Exemples supplémentaires :
Pour permettre à quelques utilisateurs et seulement à ceux-ci de posséder des répertoires UserDir, utilisez la configuration suivante :
UserDir disabled UserDir enabled user1 user2 user3
Pour permettre à la plupart des utilisateurs de posséder des répertoires UserDir, mais l'interdire à quelques uns, utilisez la configuration suivante :
UserDir disabled utilisateur4 utilisateur5 utilisateur6
Il est aussi possible de spécifier des répertoires utilisateurs alternatifs. Si vous utilisez une commande comme :
UserDir "public_html" "/usr/web" "http://www.example.com/"
Avec une requête pour http://www.example.com/~bob/un/deux.html, le serveur tentera tout d'abord de trouver la page à ~bob/public_html/un/deux.html, puis à /usr/web/bob/un/deux.html, et enfin il enverra une redirection vers http://www.example.com/bob/un/deux.html.
Si vous spécifiez une redirection, elle doit être la dernière alternative de la liste. Apache httpd ne pouvant pas déterminer si la redirection a réussi, si cette dernière ne se trouve pas en fin de liste, c'est cette alternative qui sera toujours utilisée.
La substitution de répertoire utilisateur n'est pas activée par défaut depuis la version 2.1.4. Dans les versions précédentes, UserDir public_html était sous-entendu si aucune directive UserDir n'était présente.
Lorsqu'on passe du contexte global au contexte de serveur virtuel, les listes d'utilisateurs spécifiques activés ou désactivés sont remplacées par les listes du contexte, et non fusionnées.