MarioDebian, mi devlog

Bitácora de un desarrollador newbie.

PyPersistente aplicación para crear, montar y desmontar sistemas de archivos encriptados.

Llevo unos días desarrollando una nueva aplicación que crea, monta y desmonta un sistema encriptado (mediante cryptsetup) en un archivo para el uso de homes persistentes desde metadistros USB. ¿Había dicho antes que PYTHON MOLA?

La idea es tener un archivo ( llamado secret.img ) en el directorio meta del pendrive del tamaño que queramos, (entre 64 Mb mínimo y el espacio libre disponible en el pendrive ) este archivo se monta como un dispositivo de bloques y contiene una partición en formato ext3 que es montada (si existe y la contraseña es correcta) durante el arranque de la metadistro USB, dando una ventaja muy importante que es que toda la configuración de programas que tengamos y archivos sobre los que hayamos trabajado no se perderán entre reinicios.

El sistema persistente se puede hacer de todo el sistema de archivos en vez de sólo la home, pero esto aumenta considerablemente el número de escrituras en el pendrive, por tanto limitando su vida máxima. La home también tiene muchas escrituras pero muchas de ellas son de archivos de configuración o del árbol gconf de gnome lo que se convierte en guardar configuraciones.

Bueno sin más voy a poner unas jugosas capturillas.

Ubicación en el menú de gnome, el icono es un pendrive con unas llaves encima:



Interfaz del programa nada más abrirlo:


Cuando creamos un nuevo archivo se nos preguntará por el tamaño con una sencilla barra deslizante, el tamaño está comprendido entre 64 Mb y el espacio disponible en el pendrive.


A continuación se nos pide la contraseña:



Una vez creado lo podemos montar en /mnt/secret para poder guardar cosas (o leerlas), montar y desmontar no es necesario si se arranca el USB live con la opción secret ya que el archivo se montará en /home/$USERNAME y será totalmente trasnparente al usuario.



Cuando se desmonta se liberá el dispositivo loop ocupado ( en linux hay por defecto soporte para 8 dispositivos )



Ventana "Sobre PyPersistente":



En mi lista TODO faltan cosas como limpiar un poco más el código y hacer más comprobaciones para que antes de montar o crear se compruebe que no va a fallar nada.

Tiene soporte para ser traducido (mediante archivos po) y está programado en pygtk + glade lo que hace que ocupe muy poco.

El código está diponible en el svn: pypersistent svn trunk

El nombre PyPersistente viene de PYthon + Persistente, creo que no tiene ningún misterio...

No se si había dicho ya que PYTHON MOLA.

Articulos relacionados:

Comentarios

  1. 23/03/2006 | 12:43

    Interesante, alguien de gnome había hecho algo del mismo estilo; insertaba un lapiz usb y integraba eso a traves de hal y gnome-keyring, de manera que al insertarlo preguntaba la contraseña, hal montaba el dispositivo y la siguiente vez que insertabas el lápiz usb no te preguntaba nada porque ya la tenía el gnome-keyring

  2. 23/03/2006 | 13:54

    WEEE!

  3. 25/03/2006 | 13:27

    Una gran idea. Con esto llevar una metadistro totalmente personalizada se convierte en una tarea muy sencilla.

    Tiene pinta de ser un gran trabajo.

  4. Fernando Sancho Te me has adelantado... de nuevo
    28/03/2006 | 11:41

    Pero tampoco es que me moleste :)

    Estaba haciendo exáctamente lo mismo que has hecho ahora. Aunque yo no estaba usando python ni lo estaba haciendo en forma de aplicación. Lo mio era un script usando Xdialog (si, ya se que es feo, pero es mas funcional que zenity).

    Mi idea era, y sigue siendo, meter el script en /etc/gdm/PreSession y que se encargue de la creación de un HOME persistente y encriptado además de pedir la contraseña en sucesivos arranques. De esta forma no hay que renunciar a un bonito "usplash" mientras arrancas. Lo curioso es que coincidimos hasta en utilizar la barra deslizante para indicar el tamaño de la partición (es por eso que uso Xdialog).

    De todas formas, felicidades, te ha quedado muy chulo.

    Por cierto. Tengo problemas con los scripts y el reinicio de la distro USB. Si apago no hay problemas, pero si intento reiniciar se queda parado soltando un monton de mensajes de error de lectura en el pendrive. Parece que lo desmonta antes de tiempo. ¿Te ocurre lo mismo a ti?

  5. Ramón Enhorabuena una vez más
    29/03/2006 | 11:07

    Hola Mario, una vez más lo has bordado, y veo que sigues trabajando fantásticamente sobre ese gran proyecto. Siento no estar a tu altura y tener algo abandonado, pero... una vez más, enhorabuena por tu gran trabajo.

  6. janis la crazy saludos
    06/05/2006 | 00:21

    hola como estan girl te escriben las super star de la upt osea super q in

Comentarios cerrados