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 https://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 https://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 https://www.example.com/utilisateurs | https://www.example.com/utilisateurs/bob/un/deux.html |
UserDir https://www.example.com/*/usr | https://www.example.com/bob/usr/un/deux.html |
UserDir https://www.example.com/~*/ | https://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" "https://www.example.com/"
Avec une requête pour
https://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
https://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.