Ist es möglich, eine Liste von Hosts hinzuzufügen, die nur für einen bestimmten Benutzer spezifisch sind? Vielleicht eine benutzerspezifische hosts-Datei?
Dieser Mechanismus sollte auch die Einträge in /etc/hosts
ergänzen Datei.
Akzeptierte Antwort:
Die gesuchte Funktionalität ist in glibc implementiert. Sie können eine benutzerdefinierte Hosts-Datei definieren, indem Sie HOSTALIASES
festlegen Umgebungsvariable. Die Namen in dieser Datei werden von gethostbyname
abgeholt (siehe Dokumentation).
Beispiel (getestet auf Ubuntu 13.10):
$ echo 'g www.google.com' >> ~/.hosts
$ export HOSTALIASES=~/.hosts
$ wget g -O /dev/null
Einige Einschränkungen:
HOSTALIASES
funktioniert nur für Anwendungen, diegetaddrinfo(3)
verwenden odergethostbyname(3)
- Für setuid /setgid /setcap Anwendungen, bereinigt libc die Umgebung, was bedeutet, dass
HOSTALIASES
Einstellung geht verloren. Ping ist setuid root oder erhält dennet_raw
Fähigkeit bei der Ausführung (weil es auf ICMP-Pakete lauschen muss), alsoHOSTALIASES
funktioniert nicht mitping
es sei denn, Sie sind bereits root, bevor Sieping
aufrufen .