Me gustaría agregar un archivo de host específico del usuario en mi Mac (El Capitan 10.11.5) a un directorio de inicio de usuarios y verificarlo además de cuando se resuelvan los /etc/hosts
nombres de dominio.
Encontré una respuesta similar aquí . Esta respuesta fue un rotundo no porque esa persona no tenía privilegios de superusuario. Este no es mi caso porque, de hecho, tengo privilegios de superusuario.
Encontré otra respuesta aquí , pero eso no parece funcionar en mi máquina. Esta respuesta implica configurar la HOSTALIASES
variable de entorno en ~/.hosts
, pero ninguna adición al ~/.hosts
archivo tuvo implicaciones en mi navegador web, que es el objetivo de mi deseo de crear un archivo de host específico para el usuario.
NOTA: Después de leer un poco de las páginas man de bash, la variable de entorno correcta en mac que necesita la segunda respuesta es HOSTFILE
. Sin embargo, esto todavía no afectó nada. ¿Pensamientos sobre esto?
EDITAR: Esto es para un entorno de usuario único como sugirió MrWonderful. Sin embargo, me gustaría que la configuración de hosts de un usuario no se vea afectada, pero sí de otro usuario.
¿Pensamientos?
Si está administrando un entorno de un solo usuario, como una MacBook compartida, podría hacer que el .bashrc de cada usuario copie un archivo de host base y luego agregue su personalizado al final. Por ejemplo:
sudo cp /etc/common_hosts /etc/hosts
sudo cat ~/my_hosts >> /etc/hosts
Esto daría efectivamente a cada usuario sus propias adiciones personalizadas al archivo de hosts . Puede hacer que no se necesite una contraseña para estos comandos sudo usando el comando sudo visudo y agregándolos a los comandos permitidos. Aquí hay algunos ejemplos de la parte inferior de mi archivo sudoers :
# Samples
# %users ALL=/sbin/mount /cdrom,/sbin/umount /cdrom
# %users localhost=/sbin/shutdown -h now
En OS X, el archivo /etc/hosts aparentemente se lee dinámicamente, por lo que no sería necesario reiniciar los servicios de red.
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#
Sr. Maravilloso
usuario83961
HOSTALIASES=$HOME/hosts sudo -E dtruss ping foobar
muestra que el único archivo abierto es/etc/hosts
.HOSTFILE=$HOME/hosts
tiene el mismo resultado. Lahosts(5)
página del manual indica que solo/etc/hosts
se lee. Se utiliza lahostname(7)
página de manual de estados .HOSTALIASES
Ugh, más software de Apple roto.JBis
JBis