¿Es posible agregar una lista de hosts que solo sean específicos para un determinado usuario? ¿Quizás un archivo de hosts específico del usuario?
Este mecanismo también debería complementar las entradas en el /etc/hosts
archivo.
Respuesta aceptada:
La funcionalidad que está buscando está implementada en glibc. Puede definir un archivo de hosts personalizado configurando HOSTALIASES
Variable ambiental. Los nombres en este archivo serán recogidos por gethostbyname
(ver documentación).
Ejemplo (probado en Ubuntu 13.10):
$ echo 'g www.google.com' >> ~/.hosts
$ export HOSTALIASES=~/.hosts
$ wget g -O /dev/null
Algunas limitaciones:
HOSTALIASES
solo funciona para aplicaciones que usangetaddrinfo(3)
ogethostbyname(3)
- Para setuid /setgid /setcap aplicaciones, libc desinfecta el entorno, lo que significa que el
HOSTALIASES
se pierde el ajuste. ping es setuid root o se le da elnet_raw
capacidad tras la ejecución (porque necesita escuchar paquetes ICMP), por lo queHOSTALIASES
no funcionará conping
a menos que ya seas root antes de llamar aping
.