GNU/Linux >> LINUX-Kenntnisse >  >> Linux

Eine benutzerspezifische Hosts-Datei erstellen, um /etc/hosts zu ergänzen?

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, die getaddrinfo(3) verwenden oder gethostbyname(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 den net_raw Fähigkeit bei der Ausführung (weil es auf ICMP-Pakete lauschen muss), also HOSTALIASES funktioniert nicht mit ping es sei denn, Sie sind bereits root, bevor Sie ping aufrufen .

Linux
  1. So erstellen Sie ein Ansible-Playbook

  2. Richten Sie virtuelle Hosts auf CentOS ein

  3. /etc/hosts-Datei unter Linux verstehen

  4. Kann ich einen Hostnamen *und* einen Port mit /etc/hosts zuordnen?

  5. Zeile mit Shell-Skript an die Datei /etc/hosts anhängen

Ist es unsicher, die Datei /etc/hosts auf folgende Weise als Website-Blocker zu verwenden?

Format von /etc/hosts unter Linux (anders als Windows?)

Was ist die Größenbeschränkung für /etc/hosts?

Wie ändert man /etc/hosts aus Shell-Skripten?

Finden Sie heraus, welcher Prozess eine Datei ändert

Größenbeschränkung von /etc/hosts (Linux)