Por que o sudo está me dizendo que minha senha está errada?

7

Eu recentemente instalei o OpenBSD 4.9 no meu computador, para que eu pudesse aprender um pouco sobre os sistemas operacionais do tipo Unix. Eu adicionei um novo usuário ao sistema chamado bruno. Está bem. Quando eu uso o comando 'sudo', ele me pede uma senha. Então, eu digitei a senha. Mas isso me faz dizer que a senha está errada, embora eu tenha certeza de que a senha está correta. O que estou perdendo aqui? Eu sei se adicionar

 bruno ALL = (ALL) NOPASSWD: ALL

para o arquivo / etc / sudoers ele para de perguntar pela senha, e eu posso executar o comando sudo. O que devo fazer aqui? Qual é a opção mais correta / segura? Me desculpe se é uma questão trivial. Não consegui encontrar uma boa explicação para este problema. Eu não estou apenas procurando por soluções, mas para explicações sobre como funciona toda essa coisa de usuário / permissão / senha.

    
por Bruno Calza 29.10.2011 / 15:29

2 respostas

8

Esta é uma ilustração da diferença entre autenticação e autorização .

O Sudo é principalmente uma ferramenta para autorização. Sua tarefa é determinar se você tem permissão para executar um comando com privilégios elevados e, se estiver, para executar esse comando. Uma entrada como

bruno ALL = (ALL): ALL

no arquivo sudoers permite ao usuário bruno executar qualquer comando com qualquer privilégio.

Para aplicar esta regra, o Sudo precisa saber que o usuário invocando é de fato bruno . Em princípio, ele pode confiar no mecanismo de autenticação do sistema: se você puder executar comandos como bruno , isso significa que você já foi autenticado como bruno . No entanto, uma vez que o uso do Sudo pode ter grandes conseqüências, o Sudo requer alguma autenticação extra: você precisa digitar sua senha novamente, às vezes. Isso significa que, se você deixar seu console desacompanhado e um transeunte conseguir executar o comando como bruno , ele não poderá usar o Sudo: ele poderá danificar sua conta, mas não o restante. sistema.

Outra vantagem de solicitar uma senha é que ela avisa que algo incomum está ocorrendo. Por exemplo, um aplicativo não pode chamar silenciosamente sudo : ele precisaria pedir sua senha e um prompt inesperado de senha alertaria você de que algo ruim está ocorrendo.

Na prática, pedir uma senha toda vez que você executar o Sudo seria chato. Portanto, o comportamento padrão é comprometer: peça uma senha a cada poucos minutos. Dessa forma, um passante ou aplicativo pode causar danos executando sudo somente se você tiver feito isso nos últimos minutos.

    
por 02.11.2011 / 00:34
2

Você deve ler o manual: man sudo (também aqui ), e eu não sou Certifique-se de quais são as regras, mas na maioria dos sistemas unix o sudo é permitido somente pelos usuários no grupo wheel . Portanto, você deve criar uma regra para esse novo usuário que exija a senha ou adicionar o usuário ao grupo wheel. (Use usermod -a -G wheel bruno )

    
por 29.10.2011 / 17:22