È possibile aggiungere un elenco di host specifici solo per un determinato utente? Forse un file host specifico dell'utente?
Questo meccanismo dovrebbe anche integrare le voci in /etc/hosts
file.
Risposta accettata:
La funzionalità che stai cercando è implementata in glibc. Puoi definire un file host personalizzato impostando HOSTALIASES
variabile d'ambiente. I nomi in questo file verranno raccolti da gethostbyname
(vedi documentazione).
Esempio (testato su Ubuntu 13.10):
$ echo 'g www.google.com' >> ~/.hosts
$ export HOSTALIASES=~/.hosts
$ wget g -O /dev/null
Alcune limitazioni:
HOSTALIASES
funziona solo per applicazioni che utilizzanogetaddrinfo(3)
ogethostbyname(3)
- Per setuid /setgid /setcap applicazioni, libc igienizza l'ambiente, il che significa che
HOSTALIASES
impostazione è persa. ping è setuid root o ha ilnet_raw
capacità al momento dell'esecuzione (perché deve ascoltare i pacchetti ICMP), quindiHOSTALIASES
non funzionerà conping
a meno che tu non sia già root prima di chiamareping
.