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ãosudo
. É como dizersudo -K
após cada comando normalsudo
. -
A diretiva
tty_tickets
garante que ela associe as credenciais com otty
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 desudo
para desabilitar esta opção, pelas razões de conveniência dadas acima.