AskOverflow.Dev

AskOverflow.Dev Logo AskOverflow.Dev Logo

AskOverflow.Dev Navigation

  • Início
  • system&network
  • Ubuntu
  • Unix
  • DBA
  • Computer
  • Coding
  • LangChain

Mobile menu

Close
  • Início
  • system&network
    • Recentes
    • Highest score
    • tags
  • Ubuntu
    • Recentes
    • Highest score
    • tags
  • Unix
    • Recentes
    • tags
  • DBA
    • Recentes
    • tags
  • Computer
    • Recentes
    • tags
  • Coding
    • Recentes
    • tags
Início / server / Perguntas / 38114
Accepted

        4 revs, 3 users 40%anon
4 revs, 3 users 40%anon
Asked: 2009-07-09 19:51:12 +0800 CST2009-07-09 19:51:12 +0800 CST 2009-07-09 19:51:12 +0800 CST

Por que o comando sudo demora muito para ser executado?

  • 772

Eu tenho adquirido o Linux (Fedora 10, depois 11) nos últimos meses (e gostando imensamente - é como descobrir computadores de novo, tantas coisas para aprender).

Adicionei meu usuário à última linha do /etc/sudoersarquivo, conforme mostrado abaixo, para que não seja solicitada minha senha ao executar o sudocomando:

MyUserName ALL=(ALL) NOPASSWD:ALL

Agora, toda vez que executo um comando usando sudo, ele pausa uma quantidade notável de tempo antes de realmente executar a tarefa (~ 10 segundos). Por que isso pode ser e como posso corrigir isso? Estou executando o Sudo versão 1.7.1 no Fedora 11 x86 64.

linux permissions sudo
  • 16 16 respostas
  • 133862 Views

16 respostas

  • Voted
  1. Best Answer
    Cuga
    2009-07-17T11:56:10+08:002009-07-17T11:56:10+08:00

    Fiz essa pergunta no SO e ela foi movida para cá. Dito isso, não tenho mais a capacidade de editar a pergunta como se fosse minha, ou até mesmo aceitar a resposta correta, mas esse acabou sendo o verdadeiro motivo e como resolvê-lo:

    Encontrado aqui O usuário "rohandhruva" dá a resposta certa:

    Isso acontece se você alterar o nome do host durante o processo de instalação.

    Para resolver o problema, edite o arquivo /etc/hosts

    127.0.0.1 localhost localhost.localdomain localhost4 localhost4.localdomain4 <ADD_YOURS_HERE> 
    ::1 localhost localhost.localdomain localhost6 localhost6.localdomain6 <ADD_YOURS_HERE>
    
    • 173
  2. galgalesh
    2014-02-18T06:25:34+08:002014-02-18T06:25:34+08:00

    Verifique se seu daemon syslog está funcionando corretamente; isso causou o problema para mim.

    Execute o seguinte comando

    logger 'Hello world'
    
    1. O comando retorna dentro de um período de tempo razoável?

    2. O 'Hello world' aparece em /var/log/syslog?

    Se este não for o caso, o daemon syslog travou. Reiniciá-lo deve resolver seu problema.

    • 28
  3. ysth
    2009-07-09T19:58:40+08:002009-07-09T19:58:40+08:00

    É um dos arquivos/diretórios que ele precisa ler em uma montagem em rede ou está de alguma forma acionando a leitura de um dispositivo USB lento? Tente strace e veja onde está lento; se passar muito rápido, faça

    sudo strace -r -o trace.log sudo echo hi
    

    Cada linha começará com o tempo gasto desde a entrada na syscall anterior.

    (O sudo inicial parece ser necessário; não sei o quanto isso perturbará os resultados.)

    • 13
  4. mdpc
    2013-03-30T10:48:39+08:002013-03-30T10:48:39+08:00

    Recentemente descobri que estava com o mesmo problema. Não houve atraso sudo e, de repente, cerca de 10 a 20 segundos. Eu determinei o problema específico usando:

     1. chmod u+s /usr/sbin/strace  (as the root user)
    

    Como você mesmo:

     1. sudo -K
     2. strace sudo /bin/tcsh
    

    E, em seguida, descubra onde as chamadas do sistema estão suspensas.

    No MEU caso, descobri que estava pendurado em uma tradução de DNS, aparentemente um dos DNSen da minha lista /etc/resolv.confestava muito cheio ou com problemas. Então eu mudei a ordem de resolução e as coisas funcionaram rapidamente novamente.

    • 11
  5. Sakuraba
    2014-11-26T05:09:37+08:002014-11-26T05:09:37+08:00

    Eu tive o mesmo problema, verifiquei /var/log/auth.log e syslog para erros. Acontece que meu servidor LDAP não pôde ser alcançado e deixou tudo mais lento.

    Eu não usava mais a autenticação baseada em LDAP, então removi todas as referências "ldap" de /etc/nsswitch.conf

    Desde então, tudo funciona como um encanto novamente.

    • 7
  6. Colin Coghill
    2009-07-09T20:37:19+08:002009-07-09T20:37:19+08:00

    Não tenho certeza sobre o Fedora, mas usei outros sistemas em que o sudo verificaria de onde você está conectado, o que, se o seu DNS não estiver bem configurado, pode levar muito tempo para expirar. Isso também pode ser visto ao fazer SSH na máquina - leva séculos para aparecer um prompt.

    • 5
  7. Zahid Hussain
    2014-08-20T00:05:51+08:002014-08-20T00:05:51+08:00

    No meu caso, o hostname (que foi configurado em /etc/sysconfig/network) não existia no /etc/hostsarquivo; então, ao adicioná-lo ao arquivo mencionado, o arquivo é aberto imediatamente.

    • 5
  8. 2009-08-06T18:18:11+08:002009-08-06T18:18:11+08:00

    Eu tive um problema semelhante, consertei colocando o nome do host (por exemplo, mybox) e a saída completa do comando hostname (mybox.mydomain.com). Isso esclareceu tudo. Passou de 2 minutos para abrir /etc/hosts para acesso instantâneo.

    • 3
  9. hynekcer
    2016-05-12T00:06:54+08:002016-05-12T00:06:54+08:00

    Caso SELinux

    Se o mesmo comando sudo for lento apenas em um daemon e rápido na linha de comando, provavelmente será causado pelo SELinux . (SELinux = módulo de kernel Linux com segurança aprimorada da NSA, habilitado no Fedora por padrão.)

    Um caso típico é um servidor http e um script especial para gerenciamento de servidor, restrito em sudoers:

    apache ALL=(root_or_user) NOPASSWD: /full/path/the_safe_command
    

    É típico neste caso que nada sobre o SELinux seja relatado no log de auditoria ausearch -m avc -ts today, mas o script está indo rápido se desabilitarmos temporariamente a imposição por setenforce 0. (e depois habilitar de volta por setenforce 1)

    As únicas mensagens relevantes no log do sistema (journalcrl) são estas após o atraso de 25 segundos:

    ... sudo[...] pam_systemd(sudo:session): Falha ao criar sessão: Não recebeu uma resposta. As possíveis causas incluem: o aplicativo remoto não enviou uma resposta, a política de segurança do barramento de mensagens bloqueou a resposta, o tempo limite de resposta expirou ou a conexão de rede foi interrompida.
    ... sudo[...]: pam_unix(sudo:session): sessão aberta para usuário root por (uid=0)

    O registro de todas as mensagens silenciosas de "não auditar" do SElinux pode ser habilitado semodule -DBe desabilitado novamente por semodule -B.
    (Espero escrever em breve um módulo de política SELinux em breve para este caso aqui ou um método desta resposta possa ser usado.)

    • 3
  10. Ryan Emerle
    2009-07-10T04:24:52+08:002009-07-10T04:24:52+08:00

    Verifique seu arquivo /etc/hosts e certifique-se de ter uma entrada para 127.0.0.1

    ( fonte )

    • 2

relate perguntas

  • Protegendo um novo servidor Ubuntu [fechado]

  • (Soft) RAID 6 no Ubuntu 7.10, devo migrar para 8.10?

Sidebar

Stats

  • Perguntas 205573
  • respostas 270741
  • best respostas 135370
  • utilizador 68524
  • Highest score
  • respostas
  • Marko Smith

    Ping uma porta específica

    • 18 respostas
  • Marko Smith

    Qual porta o SFTP usa?

    • 6 respostas
  • Marko Smith

    Resolver o nome do host do endereço IP

    • 8 respostas
  • Marko Smith

    Como posso classificar a saída du -h por tamanho

    • 30 respostas
  • Marko Smith

    Linha de comando para listar usuários em um grupo do Windows Active Directory?

    • 9 respostas
  • Marko Smith

    Qual é o utilitário de linha de comando no Windows para fazer uma pesquisa reversa de DNS?

    • 14 respostas
  • Marko Smith

    Como verificar se uma porta está bloqueada em uma máquina Windows?

    • 4 respostas
  • Marko Smith

    Qual porta devo abrir para permitir a área de trabalho remota?

    • 9 respostas
  • Marko Smith

    O que é um arquivo Pem e como ele difere de outros formatos de arquivo de chave gerada pelo OpenSSL?

    • 3 respostas
  • Marko Smith

    Como determinar se uma variável bash está vazia?

    • 15 respostas
  • Martin Hope
    Davie Ping uma porta específica 2009-10-09 01:57:50 +0800 CST
  • Martin Hope
    MikeN No Nginx, como posso reescrever todas as solicitações http para https mantendo o subdomínio? 2009-09-22 06:04:43 +0800 CST
  • Martin Hope
    Tom Feiner Como posso classificar a saída du -h por tamanho 2009-02-26 05:42:42 +0800 CST
  • Martin Hope
    0x89 Qual é a diferença entre colchetes duplos e simples no bash? 2009-08-10 13:11:51 +0800 CST
  • Martin Hope
    kch Como altero a senha da minha chave privada? 2009-08-06 21:37:57 +0800 CST
  • Martin Hope
    Kyle Brandt Como funciona a sub-rede IPv4? 2009-08-05 06:05:31 +0800 CST
  • Martin Hope
    Noah Goodrich O que é um arquivo Pem e como ele difere de outros formatos de arquivo de chave gerada pelo OpenSSL? 2009-05-19 18:24:42 +0800 CST
  • Martin Hope
    Brent Como determinar se uma variável bash está vazia? 2009-05-13 09:54:48 +0800 CST

Hot tag

linux nginx windows networking ubuntu domain-name-system amazon-web-services active-directory apache-2.4 ssh

Explore

  • Início
  • Perguntas
    • Recentes
    • Highest score
  • tag
  • help

Footer

AskOverflow.Dev

About Us

  • About Us
  • Contact Us

Legal Stuff

  • Privacy Policy

Language

  • Pt
  • Server
  • Unix

© 2023 AskOverflow.DEV All Rights Reserve