Como posso ter um arquivo hosts específico do usuário?

4

É possível configurar o arquivo hosts específico do usuário em vez de um / etc / hosts comum.

Por exemplo, se o usuário "user1" tentar obter o nome para o IP: "127.0.0.1", ele obtém "dev.user1" e se o usuário "user2" tentar obter o nome para o mesmo IP, ele obtém "dev.user2".

    
por Supratik 12.07.2010 / 07:47

3 respostas

3

Não, você não pode ter um arquivo / etc / hosts por usuário, nem nada parecido com /home/user1/.hosts, etc.

Você está usando o gethostbyaddr que é codificado para seguir as instruções em nsswitch.conf, que em si diz ao gethostbyaddr para procurar em / etc / hosts.

Você pode fazer algo como adicionar mais IPs de loopback na rede 127.0.0.0/8, como 127.0.0.2, 127.0.0.3, 127.1.2.3 e, em seguida, atribuir um nome de host local a um desses locais IPs. Fizemos isso em um trabalho, mas lembro que isso realmente confundiu nossos engenheiros.

Além disso, se bem me lembro, alguns loadbalancers realmente fazem isso internamente.

Aqui está um exemplo de / etc / hosts para ilustrar meu ponto:

    127.0.0.1 u1.localhost u1
    127.0.0.2 u2.localhost u2
    # And if you wanted QA servers on the same host, add them to 127.0.8.0/24
    127.0.8.1 qa1.localhost qa1

Como o @blacklotus sugeriu anteriormente, a maneira mais comum de fazer isso é designar parte de sua rede local como uma "LAN do desenvolvedor".

    
por 13.07.2010 / 06:01
2

Qual problema você está tentando resolver?

Você certamente não pode ter duas entradas diferentes em um arquivo de hosts, que são de alguma forma alternadas dependendo de qual usuário você é.

Se você nos disser o que está tentando fazer, em vez de nos perguntar sobre sua implementação específica, poderemos ajudar mais.

    
por 12.07.2010 / 08:11
1

Por que você não atribui alguns ips virtuais ao seu próprio servidor em eth0: 0, eth0: 1 etc?

Digamos atribuir 192.168.2.10 para dev.user1 e 192.168.2.11 para dev.user2. Quando você acessa os projetos via ips diferentes, gethostbyaddr () retorna o nome do host de acordo?

    
por 13.07.2010 / 05:21