Ich möchte auf meinem Mac (El Capitan 10.11.5) eine benutzerspezifische Host-Datei zu einem Benutzer-Home-Verzeichnis hinzufügen und dies zusätzlich beim /etc/hosts
Auflösen von Domain-Namen überprüfen lassen.
Ich habe hier eine ähnliche Antwort gefunden . Diese Antwort war ein glattes Nein, da diese Person keine Superuser-Rechte hatte. Dies ist bei mir nicht der Fall, da ich tatsächlich Superuser-Rechte habe.
Ich habe hier eine andere Antwort gefunden , aber das scheint auf meinem Computer nicht zu funktionieren. Diese Antwort beinhaltet das Setzen der HOSTALIASES
Umgebungsvariable auf ~/.hosts
, aber keine Ergänzung der ~/.hosts
Datei hatte jemals Auswirkungen auf meinen Webbrowser, was das Ziel von mir ist, eine benutzerspezifische Hostdatei zu erstellen.
HINWEIS: Nachdem Sie ein wenig in den Manpages von bash gelesen haben, ist die richtige Umgebungsvariable auf dem Mac, die die zweite Antwort benötigt, HOSTFILE
. Dies hat jedoch noch nichts beeinflusst. Gedanken dazu?
BEARBEITEN: Dies ist für eine Einzelbenutzerumgebung, wie MrWonderful vorgeschlagen hat. Ich möchte jedoch, dass die Hosts-Einstellung eines Benutzers nicht betroffen ist, aber ein anderer Benutzer.
Gedanken?
Wenn Sie eine Einzelbenutzerumgebung verwalten, z. B. ein gemeinsam genutztes MacBook, könnten Sie möglicherweise die .bashrc- Datei jedes Benutzers eine Basis- Hosts- Datei kopieren und dann ihre benutzerdefinierte an das Ende davon anhängen. Zum Beispiel:
sudo cp /etc/common_hosts /etc/hosts
sudo cat ~/my_hosts >> /etc/hosts
Dies würde effektiv jedem Benutzer seine eigenen benutzerdefinierten Ergänzungen zur Hosts- Datei geben. Sie können dafür sorgen, dass für diese sudo-Befehle kein Passwort erforderlich ist, indem Sie den Befehl sudo visudo verwenden und sie zu den zulässigen Befehlen hinzufügen. Hier sind einige Beispiele vom Ende meiner Sudoers- Datei:
# Samples
# %users ALL=/sbin/mount /cdrom,/sbin/umount /cdrom
# %users localhost=/sbin/shutdown -h now
Unter OS X wird die Datei /etc/hosts anscheinend dynamisch gelesen, sodass die Netzdienste nicht neu gestartet werden müssten.
mbp-c17189:~ root# ping goog
ping: cannot resolve goog: Unknown host
mbp-c17189:~ root# ping google.com
PING google.com (172.217.4.238): 56 data bytes
64 bytes from 172.217.4.238: icmp_seq=0 ttl=49 time=4306.507 ms
^C
--- google.com ping statistics ---
2 packets transmitted, 1 packets received, 50.0% packet loss
round-trip min/avg/max/stddev = 4306.507/4306.507/4306.507/0.000 ms
mbp-c17189:~ root# echo 172.217.4.238 goog>>/etc/hosts
mbp-c17189:~ root# ping goog
PING goog (172.217.4.238): 56 data bytes
64 bytes from 172.217.4.238: icmp_seq=0 ttl=49 time=43.639 ms
^C
--- goog ping statistics ---
2 packets transmitted, 2 packets received, 0.0% packet loss
round-trip min/avg/max/stddev = 43.639/43.914/44.189/0.275 ms
mbp-c17189:~ root#
MrWonderful
Benutzer83961
HOSTALIASES=$HOME/hosts sudo -E dtruss ping foobar
zeigt, dass die einzige geöffnete Datei/etc/hosts
.HOSTFILE=$HOME/hosts
hat das gleiche Ergebnis. Diehosts(5)
Manpage gibt an, dass nur/etc/hosts
gelesen wird. Es wird diehostname(7)
Manpage StatesHOSTALIASES
verwendet. Ach, noch mehr kaputte Apple-Software.JBis
JBis