Em uma configuração típica, o comando é irrelevante. Você precisa digitar sua senha na primeira vez que usar o sudo, e não precisará da sua senha nesse shell específico pelos próximos 15 minutos.
Do ponto de vista do computador, não existe um "comando que precise de sudo". Qualquer usuário pode tentar executar qualquer comando. O resultado pode ser apenas uma mensagem de erro como "Permissão negada" ou "Nenhum arquivo ou diretório", mas sempre é possível executar o comando.
Por exemplo, se você executar du
em uma árvore de diretórios com conteúdo que você não tem permissão para acessar, obterá erros de permissão. É isso que "permissão negada" significa. Se você executar sudo du
, o sudo será executado du
como root, para que você não obtenha erros de permissão (esse é o ponto da conta root: root¹ sempre tem permissão). Quando você executa sudo du
, du
executa como root e sudo
não está envolvido após o du
início. Se o du encontra erros de permissão é completamente irrelevante para o funcionamento do sudo.
Existem comandos que precisam do sudo para fazer algo útil . Utilidade é um conceito humano. Você precisa usar o sudo (ou alguns outros métodos para executar o comando como root) se o comando fizer algo útil quando executado como root, mas não quando executado na sua conta.
Se o sudo pede sua senha depende de duas coisas.
- Com base na configuração, o sudo decide se você precisa ser autenticado. Por padrão, o sudo requer uma senha. Isso pode ser desativado de várias maneiras, incluindo definir a
authenticate
opção como false e ter uma regra aplicável com a NOPASSWD
tag.
- Se o sudo exigir sua senha, pode ser um conteúdo para usar um valor em cache. Tudo bem, porque o motivo pelo qual o sudo precisa da sua senha não é autenticar quem está chamando (o sudo sabe qual usuário a chamou), mas confirmar que ainda é você quem comanda e não alguém que assumiu o controle do teclado. Por padrão, o sudo está disposto a acreditar que você ainda está no comando se tiver digitado sua senha há menos de 15 minutos (isso pode ser alterado com a
timeout
opção). Você precisa ter digitado a senha no mesmo terminal (para que, se você permanecer logado em um terminal, deixe o terminal sem vigilância e use outro terminal, alguém possa 'tty_tickets
¹ quase, mas isso está além do escopo deste segmento.