sudo -K
e sudo -k
, sem um comando, fazem a mesma coisa: invalidam as credenciais em cache do usuário.
sudo -k command ...
é diferente: ignora as credenciais armazenadas em cache do usuário para o comando atual, mas não as invalida.
Use -k
com um comando quando você quiser executar um único comando sem usar ou invalidar suas credenciais armazenadas em cache. (Na verdade, não sei por que você quer fazer isso, mas a capacidade está lá.)
Use sudo -k
ou sudo -K
se você quiser estragar suas credenciais em cache.
Resumo:
sudo -k # clobbers cached credentials
sudo -K # clobbers cached credentials
sudo -k command # ignores cached credentials
sudo -K command # invalid
ATUALIZAÇÃO:
Revisitando essa resposta, parece que a única diferença entre -k
e -K
é que -k
aceita um comando e -K
não. Não estou convencido de que ter duas opções separadas é útil, pois -K
realmente não adiciona nenhuma funcionalidade que -k
não forneça. Há uma diferença sutil no texto na página man; -k
"invalida as credenciais em cache do usuário", enquanto -K
"remove totalmente as credenciais em cache do usuário". Eu não acho que indica uma diferença real na maneira como isso afeta as credenciais.