Configure o sudo para fazer piadas quando o usuário erra a senha

A cultura hacker é extremamente forte entre usuários Linux/UNIX e a descontração, quando alguém comete um erro, sempre fez parte da comunidade.
O comando sudo, como comportamento padrão, admite até 3 tentativas de senhas erradas.
Depois disto, ele termina e envia uma mensagem ao root (administrador do sistema), informando sobre a “tentativa de obter privilégios” perpetrada pelo usuário em questão.
comando sudo insultos
As piadas ou “insultos”, são variados.
Veja alguns exemplos (com a minha tradução livre):

  1. You speak an infinite deal of nothing — “Você diz um amontoado de besteiras”
  2. Take a stress pill and think things over — “Tome um calmante e pare para pensar”
  3. That’s something I cannot allow to happen — “Taí uma coisa que eu não posso deixar acontecer”
  4. You silly, twisted boy you — “Seu tolo, você é um menino confuso”
  5. I have been called worse — “Já me chamaram de coisa pior”

Sinta-se à vontade para sugerir uma tradução diferente, nos comentários, caso não concorde com alguma (sem ofensas!) Sua contribuição será bem vinda. 😉

Como configurar o sudoers para ofender os usuários

Abra o arquivo de configuração do sudo com o visudo:


sudo visudo

localize a seção que tem os Defaults e acrescente uma linha com o seguinte conteúdo:


Defaults	insults

Se não quiser acrescentar uma linha, é possível apenas adicionar uma vírgula, seguida do parâmetro ‘insults’ a qualquer uma das linhas já existentes.
Veja como está esta sessão no meu arquivo de configuração sudoers:


Defaults        env_reset,timestamp_timeout=5,pwfeedback, insults
Defaults        mail_badpass
Defaults        secure_path="/usr/local/sbin:/usr/local/bin:/usr/sbin$
Defaults        insults

A depender do seu sistema, pode ser necessário se reautenticar para poder ver os efeitos da alteração.

Como obter a lista de insultos, ofensas e piadas do sudo

No Debian 9, a lista completa de insultos pode ser obtida no arquivo binário ‘/usr/lib/sudo/sudoers.so’.
Ele pode ser encontrado com o comando find, caso não esteja lá:


find /usr/lib/sudo -type f | xargs grep "fallen in the water"

Arquivo binário /usr/lib/sudo/sudoers.so coincide com o padrão

Por ser um arquivo binário, se você usar o comando cat nele, vai obter um monte “lixo” na sua tela.
Tente encontrar as frases com o seguinte comando, no terminal:


strings /usr/lib/sudo/sudoers.so | less

Agora digite ‘/dumber’ e as frases irão aparecer na tela.
No Askubuntu (link no final), é possível encontrar as várias listas de insultos, separadas por arquivos.
Minhas preferidas são as que usam falas do filme 2001: A Space Odissey (2001: Uma Odisseia no Espaço).
Veja algumas:

  • “Just what do you think you’re doing Dave?”
  • “It can only be attributed to human error.”
  • “That’s something I cannot allow to happen.”
  • “My mind is going. I can feel it.”
  • “Sorry about this, I know it’s a bit silly.”
  • “This mission is too important for me to allow you to jeopardize it.”
  • “I feel much better now.”

Desta vez, vai sem tradução…

sudo insults list
Sudo insults list.

Acho, ainda, importante frisar que certas frases, desta “brincadeira”, induzem a erro de interpretação, como os exemplos abaixo:

  • invalid authentication methods.
  • Invalid authentication methods compiled into sudo! You may not mix standalone and non-standalone authentication.
  • There are no authentication methods compiled into sudo! If you want to turn off authentication, use the –disable-authentication configure option.
  • Unable to initialize authentication methods.

As mensagens acima podem levar um usuário desavisado a “entrar em parafuso” (se ele souber algum inglês, claro). Além disso, elas não fazem sentido algum para os propósitos do sudo.
Se você, como sysadmin, se incomoda com perguntas “inocentes” de usuários, ativar os insults pode não ser uma boa ideia.
Na dúvida, para não ter problemas, use uma mensagem personalizada para o sudo.

Referências

https://askubuntu.com/questions/837558/where-are-sudos-insults-stored/837562.

Conteúdo relacionado pelo Google

Como exibir asteriscos ao digitar a senha do SUDO

Tradicionalmente, na linha de comando do Linux/UNIX, a linha de autenticação, onde digitamos nossa senha, não exibe qualquer feedback.
Como recurso de segurança, este comportamento impede que alguém veja, por sobre o seu ombro, quantos caracteres a sua senha possui.
Os ambientes gráficos, contudo, têm comportamento padrão diferente.
Quase todos, exibem uma bola, um ponto ou um asterisco para cada caractere digitado.
O KDE Plasma permite configurar facilmente a tela de autenticação (KDM) para exibir 3 símbolos para cada caractere digitado — o que dá à sua senha a aparência de ser bem maior do que realmente é.
Vale tudo para enganar os bisbilhoteiros.
Se você prefere obter uma visualização da quantidade de caracteres digitados no seu campo de senha, na autenticação do sudo, pode fazer este ajuste no arquivo sudoers.
O procedimento é simples. Acompanhe os passos, abaixo:
Abra o arquivo de configuração:


sudo visudo

Em seguida, encontre a linha


Defaults		env_reset

e acrescente o parâmetro ,pwfeedback.
A linha deve ficar assim:


Defaults		env_reset,pwfeedback

Se você preferir, pode criar uma linha Defaults adicional com o novo parâmetro, assim:


Defaults		pwfeedback

Fica a seu critério.
sudo visudo password


Leia mais dicas de configuração e uso do comando sudo em ambientes Linux e UNIX.

Conteúdo relacionado pelo Google

Altere o tempo máximo de cada sessão do SUDO

O comando sudo é o que permite a um usuário normal ou ao sysadmin administrar o sistema, sem precisar autenticar como root.
Com o sudo, você executa rapidamente uma tarefa – investido de superpoderes – e volta ao prompt de seu usuário normal em seguida.
Dar acesso a este recurso, pode ser uma forma mais segura de conceder poderes administrativos a usuários normais do seu sistema — sem revelar a senha do root.
Como comportamento padrão, uma sessão do sudo dura 15 minutos. Durante este período de tempo, não é pedido qualquer senha ao usuário.
Se você acredita que este tempo é muito curto ou muito longo, é fácil alterá-lo.

No meu caso, acredito que 5 minutos é tempo suficiente para realizar qualquer tarefa administrativa no sistema.

Quando é necessário executar vários comandos com privilégios administrativos (e que irão demorar mais do que 5 minutos para serem executados), prefiro digitar a minha senha algumas vezes a mais — sem problemas.


Por outro lado, este post ensina a executar vários comandos, em fila, usando o sudo, sem precisar se preocupar com a expiração do tempo. Recomendo a leitura.

Como configurar o tempo de expiração da sessão do sudo

A maneira adequada de ajustar os parâmetros do sudo é através do visudo.

O visudo edita o arquivo sudoers de maneira segura — protegendo-o contra alterações simultâneas e fazendo verificação básica de erros.

Nas grandes distribuições, como Debian e no Ubuntu, o programa irá abrir, por padrão, o editor de textos Nano.
Neste caso, quando terminar a edição, use as combinações de teclas ‘Ctrl-o’ e ‘Ctrl-x’, para gravar e sair do editor.
Se, na sua distro, o editor padrão for o vi ou o vim, tecle ‘Esc’ e, em seguida, ‘:wq’ e ‘Enter’, quando terminar de alterar o sudoers.
Você pode rodar o visudo com o próprio sudo:

sudo visudo

Em seguida, localize a linha (que deve estar no começo):


Defaults        env_reset

e altere-a para


Defaults        env_reset,timestamp_timeout=5

Como eu já disse, prefiro que o valor da minha variável timestamp_timeout seja 5 (minutos). Você deve usar o valor que considerar mais adequado às suas necessidades.
sudo sudoers environment variables

Como evitar que a sessão do sudo expire

Se você precisa que a sua sessão fique ativa indefinidamente (ou pelo menos até você se desautenticar do sistema), use o sudo combinado com as seguintes opções:


sudo -s

[sudo] senha para justincase: 

Outros usuários preferem usar o sudo para logar-se diretamente como root:


sudo su

Em qualquer um dos casos, quando terminar, use ‘exit’ para sair:

root@inspiration:/home/justincase# exit
exit

Conteúdo relacionado pelo Google