Est-il possible d'ajouter une liste d'hôtes qui ne sont spécifiques qu'à un certain utilisateur ? Peut-être un fichier hosts spécifique à l'utilisateur ?
Ce mécanisme devrait également compléter les entrées dans le /etc/hosts
fichier.
Réponse acceptée :
La fonctionnalité que vous recherchez est implémentée dans la glibc. Vous pouvez définir un fichier d'hôtes personnalisé en définissant le HOSTALIASES
variables d'environnement. Les noms de ce fichier seront récupérés par gethostbyname
(voir documentation).
Exemple (testé sur Ubuntu 13.10) :
$ echo 'g www.google.com' >> ~/.hosts
$ export HOSTALIASES=~/.hosts
$ wget g -O /dev/null
Certaines limites :
HOSTALIASES
ne fonctionne que pour les applications utilisantgetaddrinfo(3)
ougethostbyname(3)
- Pour setuid /setgid /setcap applications, la libc assainit l'environnement, ce qui signifie que les
HOSTALIASES
réglage est perdu. ping est setuid root ou reçoit lenet_raw
capacité lors de l'exécution (car il doit écouter les paquets ICMP), doncHOSTALIASES
ne fonctionnera pas avecping
sauf si vous êtes déjà root avant d'appelerping
.