¿Existe un usuario específico equivalente a / etc / hosts?

18

¿Hay alguna forma de definir hosts específicos del usuario, como en / etc / hosts? Tal vez algo como ~ / .hosts?

Greget
fuente
2
¿Puedes decir lo que realmente quieres hacer?

Respuestas:

24

Para cualquier cosa basada en ssh (incluyendo rsync sobre ssh) puede agregar entradas a su archivo ~ / .ssh / config

p.ej

Host myhost
    Hostname myhost.example.com

Entonces ssh myhost te conectará a myhost.example.com

Mella
fuente
agregue una opción de "Usuario" y es una gran receta para sistemas heterogéneos.
hayalci el
1
Utilizo este enfoque con comodines y finalización de bash para nombres de host con la variable de entorno HOSTFILE. Termino con la finalización de tabulación de los nombres de host 'alternativos' bastante bien.
ericslaw
5

Las aplicaciones específicas pueden tener algo que puede usar, como sugirió Nick, pero no hay un homedir de usuario equivalente al archivo / etc / hosts.

Cuando las aplicaciones intentan resolver nombres de host, NSS lo maneja. Puede verificar cómo NSS maneja los nombres de host en su sistema mirando /etc/nsswitch.conf

$ grep host /etc/nsswitch.conf 
hosts:          files dns

Esto significa que los nombres de host se resolverán primero en la base de datos de archivos (/ etc / hosts) y, en su defecto, en los detalles de DNS especificados en /etc/resolv.conf

el otro recibir
fuente
3

Me preguntaba lo mismo y un colega encontró esta solución: http://blog.tremily.us/posts/HOSTALIASES/

Básicamente implica establecer una variable de entorno (HOSTALIAS) que apunta al archivo que se usará para los alias de host (podría usar ~ / .hosts, por ejemplo).

Steven
fuente
1
El enlace se rompió :-(
thorbjornwolf
Actualmente, el enlace funciona (nuevamente).
vog
0

Otra solución podría ser diferentes entornos "chroot" para diferentes usuarios. Incluso diferentes cárceles raíz para el mismo usuario, dependiendo de ciertos criterios.

LAZA
fuente