Existe um equivalente específico do usuário para / etc / hosts?

18

Existe alguma maneira de definir hosts específicos do usuário - como em / etc / hosts? Talvez algo como ~ / .hosts?

Greget
fonte
2
você pode dizer o que realmente quer fazer?

Respostas:

24

Para qualquer coisa baseada em ssh (incluindo rsync sobre ssh), você pode adicionar entradas ao seu arquivo ~ / .ssh / config

por exemplo

Host myhost
    Hostname myhost.example.com

Em seguida, o ssh myhost conectará você a myhost.example.com

usuario
fonte
adicione uma opção "Usuário" e é uma ótima receita para sistemas heterogêneos.
hayalci
11
Eu uso essa abordagem com curingas e conclusão do bash para nomes de host com a variável de ambiente HOSTFILE. Termino com a conclusão de tabulação dos nomes de host 'alternativos' bastante bem.
ericslaw
5

Aplicativos específicos podem ter algo que você pode usar, como sugeriu Nick, mas não existe um usuário equivalente ao arquivo / etc / hosts.

Quando os aplicativos tentam resolver nomes de host, eles são tratados pelo NSS. Você pode verificar como o NSS lida com nomes de host no seu sistema, consultando /etc/nsswitch.conf

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

Isso significa que os nomes de host serão resolvidos primeiro no banco de dados de arquivos (/ etc / hosts), e na falha nos detalhes de DNS especificados em /etc/resolv.conf

theotherreceive
fonte
3

Eu estava pensando a mesma coisa e um colega encontrou esta solução: http://blog.tremily.us/posts/HOSTALIASES/

Basicamente, envolve definir uma variável de ambiente (HOSTALIASES) que aponta para o arquivo a ser usado para aliases de host (você pode usar ~ / .hosts, por exemplo).

Steven
fonte
11
O link quebrou :-(
thorbjornwolf
Atualmente, o link funciona (novamente).
vog 7/10
0

Outra solução poderia ser diferentes ambientes "chroot" para diferentes usuários. Até cadeias raiz diferentes para o mesmo usuário, dependendo de certos critérios.

LAZA
fonte