comando sudo é executado sem solicitar senha

3

Por algum motivo, de repente, não preciso digitar a senha ao emitir sudo some_cmd .

O comando inserido apenas é executado sem solicitar a senha, mesmo que eu não tenha efetuado login como usuário root. Comandos que precisam de privilégios de root ainda precisam ser invocados com sudo . Eu estou no Ubuntu 10.04.

Alguma ideia do que pode ter causado isso?

    
por MLister 21.06.2013 / 18:08

1 resposta

8

Diga sudo -K e repita o teste. Se começar a perguntar novamente, tudo o que estava acontecendo é que você tinha sudo configurado para lembrar sua senha por algum tempo.

Além disso, a configuração sudo padrão do Ubuntu faz com que você se lembre das suas credenciais em tty s. Isso afeta ssh sessões, como você descobriu, já que cada nova conexão ssh parece um novo terminal para o código do sistema operacional de baixo nível.

Isso também afeta coisas como o aplicativo gráfico do Terminal. Se você autenticar com sudo , crie uma nova guia com Ctrl-Shift-T, você não precisará dar uma senha para sudo novamente nessa guia, apesar do fato de que ela também cria um novo tty . Você pode até fechar o aplicativo Terminal completamente e, contanto que você o reinicie dentro do tempo limite normal da senha, sudo será executado sem que você precise redigitar sua senha. Esse comportamento pode ser suficiente para fazer você decidir que deseja manter esse recurso ativado.

O Mac OS X também funciona assim nos dias de hoje.

Nem todos os ixes fazem. O Red Hat Enterprise Linux (e derivados como o CentOS) insistem em obter a senha em cada novo tty .

Você pode desativar os dois comportamentos alterando a linha Defaults em /etc/sudoers para algo assim:

Defaults=env_reset,timestamp_timeout=0,tty_tickets
  • O env_reset bit já deve estar lá e não é relevante aqui

  • A diretiva timestamp_timeout informa para o tempo limite de cada sessão sudo . É como dizer sudo -K após cada comando normal sudo .

  • A diretiva tty_tickets garante que ela associe as credenciais com o tty em que foram usadas, não apenas o nome do usuário. Este deve ser o padrão já, e está documentado como tal no Ubuntu, mas eles devem ter construído sua distribuição de sudo para desabilitar esta opção, pelas razões de conveniência dadas acima.

por 21.06.2013 / 18:28