Al grano, resulta que una de las opciones es la siguiente:
insults If set, sudo will insult users when they enter an incorrect password. This flag is off by default.
Para activarla y ver su comportamiento añadimos la siguiente línea a /etc/sudoers:
Defaults insults
Ahora cuando algún usuario introduzca mal la contraseña, sudo amablemente le insultará :).
$ sudo echo "no me se la contraseña"
Password:
Wrong! You cheating scum!
Password:
And you call yourself a Rocket Scientist!
Password:
No soap, honkie-lips.
sudo: 3 incorrect password attempts
Bueno, esto está bien y tal, tiene su cierto toque de gracia, pero más divertido es que si somos el administrador de la máquina (o más de una) cambiemos los insultos y le pongamos algunos personalizados, bien sea en español en nuestro caso o más divertido aún, que tengan que ver con el ámbito (la empresa, la uni, la casa o lo que sea). Este ha sido el proceso que he seguido yo para conseguirlo (uso ubuntu 12.04).
- Me bajé el código fuente de sudo (estas son las tonterías que hace que sea un ferviente defensor del software libre, entre otras).
- $ apt-get source sudo
- Extraemos el paquete.
- $ tar xvzf sudo_1.8.3p1-1ubuntu3.4.debian.tar.gz
- Después tenemos que empezar a buscar dónde anda toda la parte de los insultos. Sorprendentemente sudo no busca los insultos en algún fichero, sino que los tiene directamente hardcodeados dentro del binario... no sé por qué. Acabaremos encontrando que los insultos están en el directorio plugins/sudoers, que el fichero insults.h es el que controla cuáles insultos se incluyen y cuáles no, y que los distintos tipos de insultos están en los ficheros ins_*.
- A partir de aquí modificamos el fuente de la manera que más nos guste para añadirle nuestros insultos, recompilamos e instalamos, lo típico.
$ vim my_own_insults.h
1 #ifndef _MY_OWN_INSULTS_H
2 #define _MY_OWN_INSULTS_H
3
4 "MAAAAAAAAAAAAAAAAAAAAL!",
5 "Paquete",
6 "Intentando fuerza bruta? JA!",
7 "Ponte a estudiar",
8 "Menos de 100m en el d3? Pobre",
9 "Yarr mola",
10
11 #endif
Ahora modificamos insults.h para incluir nuestros insultos (muestro sólo las líneas relevantes con lo que yo hice en negrita).
21 #if defined(HAL_INSULTS) || defined(GOONS_INSULTS) || defined(CLASSIC_INSULTS) || defined(CSOPS_INSULTS) || defined (MY_OWN_INSULTS)
...
29 #ifdef MY_OWN_INSULTS
30 # include "my_own_insults.h"
31 #else
32
33 # ifdef HAL_INSULTS
34 # include "ins_2001.h"
35 # endif
36
37 # ifdef GOONS_INSULTS
38 # include "ins_goons.h"
39 # endif
40
41 # ifdef CLASSIC_INSULTS
42 # include "ins_classic.h"
43 # endif
44
45 # ifdef CSOPS_INSULTS
46 # include "ins_csops.h"
47 # endif
48 #endif
Lo he puesto para que si estan mis insultos no esté ninguno más. Ahora continuamos con los típicos pasos de configuración, compilación e instalación. En el directorio donde se encuentra el script de configure:
$ ./configure --with-insults
No estoy seguro de si hace falta ponerle el --with-insults o ya viene por defecto, pero para el caso da lo mismo. Antes de compilar modificamos el makefile de plugins/sudoers/ para que al compilar se defina la macro MY_OWN_INSULTS, de la que dependen nuestros insultos, si no lo hacemos nos quedaremos con un palmo de narices jeje:
$ vim plugins/sudoers/Makefile
...
56 CFLAGS = -g -O2 -DMY_OWN_INSULTS
...
Y ahora ya el proceso normal:
$ make && make install
$ sudo echo "hola"
Password:
Yarr mola
Fácil, rápido y para toda la familia. Ahora replicamos el sudo de esta máquina por el resto de máquinas que administremos y nos echamos unas risas :D.
Saludos.
No hay comentarios:
Publicar un comentario