Primeiro sudo sempre lento

8

O primeiro sudo que eu digite no meu servidor Ubuntu 14.04 é sempre lento. O prompt de senha é exibido imediatamente, mas depois que eu pressiono enter demora cerca de 10 a 15 segundos até que a saída seja impressa. Todos os comandos do sudo depois disso são executados instantaneamente.

Executar algo como sudo strace -S time -c sudo echo hi não mostra nada útil nesse caso, já que o sudo de sudo echo hi já é o segundo sudo e é executado rapidamente. Se algum tempo passar e eu tiver que digitar novamente a senha em uma sessão em execução, ela será lenta novamente.

Todas as soluções que encontrei foram sobre como adicionar seu nome de host como resolução para 127.0.0.1 no arquivo /etc/hosts , o que eu fiz sem sucesso. su root é executado instantaneamente. A única coisa que eu lembro de ter mudado nos últimos dias é a máscara de rede de uma sub-rede que o servidor está roteando, instalando samba, dnsutils e bind9. Mas nenhum desses processos está sendo executado e o problema permanece, no acesso físico, nas sessões ssh e nas sessões tmux.

EDIT: nova abordagem

Eu tentei executar sudo tcpdump -vvvi any > tcpdump.log com todas as NICs desconectadas. O log mostra muitos dos seguintes itens:

18:35:09.453399 IP (tos 0x0, ttl 64, id 49112, offset 0, flags [DF], proto UDP (17), length 76)
    localhost.38498 > localhost.domain: [bad udp cksum 0xfe4b -> 0x1050!] 58546+ SRV? _kerberos._udp.KF.OURLOCALDOMAIN.DE. (48)
18:35:09.457412 IP (tos 0x0, ttl 64, id 49113, offset 0, flags [none], proto UDP (17), length 76)
    localhost.domain > localhost.38498: [bad udp cksum 0xfe4b -> 0x8fcd!] 58546 ServFail q: SRV? _kerberos._udp.KF.OURLOCALDOMAIN.DE. 0/0/0 (48)

As mesmas entradas aparecem com o tcp instad do udp. Eu substituí o nome de domínio de nossa universidade por OURLOCALDOMAIN.

Agora eu acho que o kerberos pode ter algo a ver com isso, mas eu apaguei o /etc/krb5.conf e reiniciei, ainda sem alterações. Parece-me que o servidor tenta se validar em um servidor kerberos central de nossa rede universitária. Eu sei que alguns anos antes, esse IP estava registrado em um servidor que executava o samba para o nosso departamento. Poderia haver uma conexão? Eu mudei meu nome de host para o que foi usado naquela época, nenhuma mudança no comportamento do sudo. Lmwangi sugere algo sobre o PAM, sobre o qual eu tenho pouco conhecimento, então não sei como abordar isso. Eu também lembrei que mudei do Heimdal Kerberos para o MIT Kerberos ao instalar o samba, porque eu tive problemas durante a instalação do samba. Também vou tentar as idéias dos comentários nos próximos dias, mas estarei viajando por alguns dias para que isso leve algum tempo.

EDIT 2: Resolvido

Havia uma entrada de pesquisa de DNS legada no /etc/network/interfaces que atrapalhava tudo. Eu me sinto muito idiota. Tudo funciona agora.

    
por zerweck 04.11.2014 / 16:45

1 resposta

2

Eu suspeito que sua caixa está tentando entrar em contato com um serviço de autenticação externa (pense em NIS / LDAP) usando o PAM ...

Se eu entendi o PAM corretamente, você não conseguirá ver a consulta do PAM nas suas chamadas do Strace. Eu sugiro que você execute tshark / tcpdump e veja se você pode correlacionar o tráfego de rede específico para suas tentativas de sudo. Suspeitos aqui seriam pesquisas de DNS e | Chamadas LDAP.

tcpdump -i eth0 -w network.pcap -s0 -Av

Se você descobrir o que está causando as pesquisas, descubra o módulo PAM relevante para editar e corrigir o problema. Alternativamente, se for uma pesquisa de DNS, basta adicionar uma entrada / etc / hosts para falsificar o nome e redirecionar para localhost. Isso tornará o seu sudo rápido, já que a busca será rápida e redirecionará para o localhost e a transação da rede falhará rapidamente, já que não há nada escutando no host local ...

    
por 05.11.2014 / 21:39

Tags