Onde o hostname em / etc / hostname em um servidor debian é usado?

2

Eu tenho um servidor Web executando vários sites.

Quando eu ssh in, ele me dá um nome de guia de [email protected], o que é contra-intuitivo, fazendo parecer que essas guias estão no meu localhost.

Eu gostaria de mudar o nome do host, mas quero ter certeza de que ele não quebrará mais nada.

Então, para que fins essa string de nome de host é usada e como posso ter certeza de que ela não afetará nenhum sistema em funcionamento?

    
por Kzqai 13.03.2010 / 00:02

4 respostas

1

Eu acredito que a única coisa que deve acessar diretamente o / etc / hostname é o script de inicialização /etc/init.d/hostname.sh.

Sua configuração do apache pode depender do nome do host ser uma coisa certa. Quando você configura o apache, você usou endereços IP em sua configuração ou o nome que estava em / etc / hostname.

Se você tiver uma configuração de servidor de e-mail, também poderá estar usando o nome de / etc / hostname. Embora localhost.localdomain seja o que está em / etc / hostname, suspeito que seu sistema de e-mail já esteja parcialmente quebrado.

Acredito que seja seguro alterar o arquivo. Mude o arquivo, execute /etc/init.d/hostname.sh e reinicie todos os serviços que você está executando como o apache. Se houver problemas, a correção deve ser apenas uma edição menor de alguns arquivos de configuração.

Se você é realmente paranóico, pode copiar o sistema de produção para uma VM, fazer a alteração na VM e depois ver o que quebra. Se você ainda não tem um ambiente de teste, pode ser um bom momento para configurar um.

    
por 13.03.2010 / 00:20
1

Enquanto o nome do host é definido em / etc / hostname, muitos processos usarão os arquivos DNS e / ou hosts para descobrir o nome do host. Então você pode tentar ver / etc / hosts e também verificar os nameservers listados em /etc/resolv.conf para ver o que está definido.

    
por 17.03.2010 / 07:47
1

O problema que você está encontrando é likley em / etc / hosts. É aqui que os endereços são procurados. Deve haver uma entrada lá para o endereço IP do seu servidor. Fallback é usar o endereço de loopback, localhost @ localdomain.

Consulte o link para obter as práticas recomendadas para nomear seu host. / etc / hostname é usado para preencher o nome no kernel durante o starup. Coloque o nome não qualificado em / etc / hostname e execute 'sudo /etc/init.d/hostname start'. Adicione também uma entrada para o seu nome de host em / etc / hosts usando o endereço da interface em / etc / hosts.

O servidor de e-mail deve usar / etc / mailname para determinar seu nome. Este deve ser um endereço totalmente qualificado, como myhost.example.com.

    
por 19.03.2010 / 02:48
0

Dependendo da configuração em seu arquivo /etc/nssswitch.conf você pode usá-lo para resolução de nomes de domínio antes de chamar para um sistema diferente, normalmente DNS.

hosts:      files dns

Essa indicação de que primeiro deve usar os arquivos locais (/ etc / hosts) e, em seguida, consultar o DNS.

Portanto, normalmente, o sistema roteará todas as consultas de nome de host através de / etc / hosts antes de consultar o DNS.

    
por 19.03.2010 / 01:48