Cómo hacer que el gestor de claves de Gnome deje de preguntar la contraseña
« ¿Ha destruido la tierra el LHC ya? | Una impresora de tostadas »
Hace tiempo hablé sobre cómo hacer que el gestor de claves de Gnome dejara de preguntar la contraseña utilizando PAM Keyring.
Uno de los inconvenientes de este método era que era necesario que la contraseña del anillo de claves del gestor de claves fuera la misma que la contraseña de usuario, y que el usuario la introdujera en la pantalla de login, lo que implica que no se podía utilizar si teníamos Ubuntu configurado para iniciar sesión automáticamente.
Una solución, que explicaré a continuación, consiste en almacenar la contraseña en un archivo de texto plano y crear un script que la introduzca automáticamente con un simple comando echo. Evidentemente esto no es muy seguro, ya que cualquiera podría leer la contraseña si tuviera acceso al archivo en la que está escrita. Si esto no os preocupa, pongamos manos a la obra.
Este método sigue utilizando PAM Keyring, por lo que lo primero que tendremos que hacer es instalarlo, en el caso de que no lo esté:
sudo aptitude install libpam-gnome-keyring
También necesitaremos el programa pam-keyring-tool. Primero instalaremos sus dependencias:
sudo aptitude install build-essential libglib1.2-dev libglib2.0-dev libtool libgnome-keyring-dev libpam0g-dev
Tras lo cuál podemos descargar el código fuente y compilarlo:
wget http://www.hekanetworks.com/opensource/pam_keyring/pam_keyring-0.0.9.tar.gz
tar xzfv pam_keyring-0.0.9.tar.gz
cd pam_keyring-0.0.9/
./configure
make
sudo mv src/pam-keyring-tool /usr/bin/
Ahora creamos un nuevo archivo de texto usando nuestro editor preferido, que contendrá el script que introducirá la contraseña por nosotros:
sudo gedit /usr/local/bin/unlock.sh
El contenido del script será el siguiente:
#!/bin/bash
echo contraseña | /usr/local/bin/pam-keyring-tool -u -s
Le damos permisos de ejecución:
sudo chmod +x /usr/local/bin/unlock.sh
Y sólo resta hacer que el script se ejecute al iniciar el sistema. Nos dirigimos a Sistema -> Preferencias -> Sesiones -> Programas de inicio -> Añadir, donde introduciremos "Desbloquear keyring" como nombre, por ejemplo, y como orden /usr/local/bin/unlock.sh
¿No es mas rapido dejar la contraseña del gestor de claves en blanco cuando lo creas asi no te la pide nunca?
Lo primero, gracias. Lo segundo: vaya chapuza. Y no me refiero a tu solución, sino al hecho de que esta sea forzosamente la solución.
¿No podrían poner algún sitio donde especifiques una serie de permisos o algo por el estilo? Todo este rollo del keyring me parece lo más antiintuitivo del mundo. Veo algo de "seguridad por mis cojones".
Si uno quiere tener el autologin, que le capen la conexión a internet sí o sí es un castigo innecesario.
Oops, el de antes soy yo.
esto lo andaba buscando yo desde hace tiempo, de momento nadie va a mirar el archivo donde tengo la contraseña y era un rollo escribirla en cada login.
solo una cosita, yo he tenido que cambiar el script donde pone
echo contraseña | /usr/local/bin/pam-keyring-tool -u -s
he tenido que poner
echo contraseña | /usr/bin/pam-keyring-tool -u -s
o debería poner el archivo pam-keyring-tool en el directorio local?
@godsfork No hace falta que lo pongas en /usr/local/bin, pero se considera una buena práctica.
hay algo mal en la ruta del script…tambien tuve q hacer el mismo cambio que godsfork porque sino me da como que no existe el archivo ya que en la guia figura "sudo mv src/pam-keyring-tool /usr/bin/" y luego en la config del script lo busca en "/usr/local/bin/"…
despues del cambio el error es el siguiente:
pam-keyring-tool: error unlocking the login keyring