Como posso fazer o sudo esquecer a senha automaticamente após um comando?

2

Meu problema é o seguinte: Eu quero editar um arquivo que só é legível pelo root. É por isso que uso

sudo vim ~/thefile

Eu poderia digitar

sudo -K

depois de sair do vim, mas eu estava esperando que há uma opção ou algo que faz o sudo esquecer a senha automaticamente. É claro que pensei em editar o arquivo sudoers e definir o tempo limite como 0, mas não quero alterar as configurações em geral. Eu também não encontrei nada no manpage ...

Existe uma maneira de fazer isso?

Se for interessante: estou usando o Ubuntu 12.04 e o bash.

    
por caligula 25.02.2015 / 16:46

3 respostas

3

Não há uma opção para o sudo que faça exatamente o que você quer, mas você pode criar uma função de shell que criará um novo comando sudok , que executará o comando sudo e fará com que o sudo remova suas credenciais em cache .

function sudok () { sudo "$@"; sudo -K; }

Adicione essa linha ao seu ~/.bashrc ou ~/.bash_profile para torná-la permanente.

    
por 25.02.2015 / 23:27
3

Tenho certeza que você só quer a opção sudo do k ,

sudo -k vim ~/thefile

documentado para ignorar completamente seu cachefile:

When used in conjunction with a command or an option that may require a password, this option will cause sudo to ignore the user's cached credentials. As a result, sudo will prompt for a password (if one is required by the security policy) and will not update the user's cached credentials.

    
por 25.02.2015 / 23:59
0

Veja man sudoers ; uma configuração timestamp_timeout é descrita lá. Defina como 0 para que sudo sempre solicite uma senha.

    
por 25.02.2015 / 16:54

Tags