martes, 6 de septiembre de 2011

Tuneando sudo

Hace bastante que aprendimos a usar sudo en Debian, por comodidad, y porque así cada vez que usamos un comando como root, somos un poco mas conscientes, puesto que tenemos que teclear el correspondiente sudo.

Hoy vamos a personalizar un poco el funcionamiento de sudo, para definir el mensaje que nos da al pedir la contraseña, cuanto tiempo va a guardar esta, y que nos va a decir si nos equivocamos.

Para ello, tenemos que editar el fichero /etc/sudoers, pero si usamos nuestro editor de texto favorito, corremos el riesgo de fastidiarlo, así pues, la forma correcta seria:
  • sudo visudo
Pero ya sabemos que el editor de texto favorito de los gurus de Linux es Vi, que para el resto de los mortales resulta bastante odioso. Vamos a hacer las cosas bien, y usar visudo, pero las vamos ha hacer comodas y editar con gedit o cualquier otro que te guste. Es tan fácil como escribir en la consola:
  • sudo EDITOR=gedit visudo
Ahora tenemos que buscar la linea que pone: Defaults passprompt= ...  y poner después del signo igual, entre comillas, la frase con la que nos pedirá la contraseña. En caso de que esta linea no exista, la añadimos al final del todo, quedando algo mas o menos como...
Defaults passprompt=”Dime la contraseña”
Si la contraseña es incorrecta, sudo nos indica el error, y también podemos personalizar como lo hace, buscando o añadiendo Defaults badpass_message= . En este caso, debería quedar algo así.
Defaults badpass_message= “La cagaste, majete”
Podemos insertar algunos códigos especiales en estas frases para personalizarlas, por ejemplo:
%u Lo cambia por el nombre del usuario que usa sudo
%h Lo cambia por el nombre de máquina
Por otro lado, lo normal es que se nos pida la contraseña cada vez que usamos sudo. Si queremos que no se nos pregunte cuando la usamos varias veces de seguido, tenemos que definir el tiempo en segundos que la contraseña seguirá en memoria.

Buscamos Defaults:usuario timestamp_timeout=0, donde evidentemente, usuario, es el nombre de tu usuario y fijas el tiempo en minutos. Puedes definir tiempos diferentes para cada usuario simplemente añadiendo una de estas lineas con cada nombre de usuario. Si quieres tener que teclear la contraseña cada vez que uses sudo, sencillamente, fija el tiempo en 0.
Defaults:carlos timestamp_timeout=3
Defaults:pardillo timestamp_timeout=0
Y como truco final, si buscas la linea Defaults env_reset  y añades al final insults tras una coma, sudo te insultara (en ingles) si te equivocas con la contraseña.
Defaults        env_reset,insults

No hay comentarios:

Publicar un comentario

prekes sodui