LinuxParty

NUESTRO SITIO necesita la publicidad para costear hosting y el dominio. Por favor considera deshabilitar tu AdBlock en nuestro sitio. También puedes hacernos una donación entrando en linuxparty.es, en la columna de la derecha.

Ratio: 4 / 5

Inicio activadoInicio activadoInicio activadoInicio activadoInicio desactivado
 

Hay muchas razones para usar Linux sobre cualquier otro sistema operativo que sea propietario, como son Windows o Mac, y es que Linux tiene la posibilidad allí donde a tí se te acabe la imaginación, por eso siempre es la mejor opción de escritorio en muchos casos, sobre todo en los más delicados.

El proceso de encriptación de una carpeta no es nueva, ya lo hemos explicado en algunos artículos como:

Crear una carpeta encriptada en Linux al estilo RealCrypt (ya encfs)

La encriptación, la vamos a hacer para tener todo seguro, nuestros marcadores, nuestras contraseñas, nuestras visitas, los plugins, etc. Así pues vamos a explicar los pasos para llevarlo a cabo. Para nuestro ejemplo, vamos a usar Mozilla Firefox, por 2 razones, primera porque es un navegador gratuito y el navegador Open Source por excelencia entre los usuarios Linux y segundo, porque siempre vendrá instalado en todos las distribuciones, pero si quiere usar otro navegador, deberá hacer las modificaciones oportunas en el Script abajo desarrollado.

Todos los scripts creados vamos a guardarlos en un directorio "bin" que vamos a crear si no existe, en nuestro directorio $HOME

Necesita tener instalado kdialog, ksshaskpass y los paquetes fuse y fuse-encfs, puede tratar de hacerlo desde una consola shell:

Fedora y derivados (puede usar yum o dnf):

# yum search kdialog

y luego...

# dnf install kdialog

Debian, Ubuntu y derivados:

# aptitude search kdialog

y luego...

# aptitude install kdialog

OpenSUSE y derivados (para instalar use install):

# zypper search kdialog

Arch Linux y derivados:

# pacman -Ss kdialog

después...

# pacman -S kdialog

Estos son los pasos previos antes de hacer el script:

#######################################################################################
#######################################################################################
# Creamos una copia de seguridad de los datos. (por si todo sale mal)
tar cvfz CopiaSeg-mozilla-2021-04-30-v1.tgz .mozilla/
# Borramos la actual carpeta de mozilla
rm -rfv .mozilla
# Creamos la carpeta encriptada
encfs --extpass=/usr/bin/ksshaskpass $HOME/.mozilla-encrypt $HOME/.mozilla
Después, nos solicitará la contraseña:

# Comprobamos que ha sido creado.

df -h
# Descomprimimos la copia de seguridad, el parámetro -C es opcional pero así nos
# aseguramos de indicar correctamente la ruta
tar xvfz CopiaSeg-mozilla-2021-04-30-v1.tgz -C $HOME/.mozilla/ # Comprobamos.... ll .mozilla-encrypt/ # Ahora crearemos "efirefox.sh" ####################################################################################### ####################################################################################### .

En este ejemplo usaremos "Firefox", así que he creado un script que se llama "efirefox.sh" de "Encriptar" para distinguirlo de cualquier otra versión de otro script que pudiera haber con el mismo nombre, así pues estas son las líneas de código, como verás, debidamente comentadas:

# Si no existe tendrá que crear el directorio bin

mkdir bin

# Creamos el fichero
vim bin/efirefox.sh

Después escriba:

chmod a+x bin/efirefox.sh

Yo uso "joe", pero en este ejemplo he puesto el editor "vi" o "vim", para "copiar y pegar", recuerda debes pulsar primero " i " para insertar (empezar a escribir), copias y pegas y sales pulsando la tecla [Esc] y después   :wc

 

#!/bin/bash
# (c) LinuxParty.es - Mayo - 2021 - versión 1.02 - Licenciado para libre distribución.
# Forzamos desmontar la versión previa, si la hubiera... que no debería...
fusermount -u $HOME/.mozilla
# Renombramos la versión actual (previa) del directorio con otro nombre, 
# y creamos uno vacío. (Que se usará para la versión encriptada)
#
# Comprobación de errores, por reinicio, bloqueo o pérdida de suministro eléctrico.
pidof firefox if [ $? -eq 0 ]; then echo "Ya Existe otro firefox funcionado..." kdialog --passivepopup "Ya existe un firefox funcionado..." 10 exit 0 else echo "Ok. No existe otro firefox funcionado" fi if [ -d $HOME/.mozilla-otro ] ; then echo "Existe un antiguo mozilla-otro, implica otro firefox funcionado..." kdialog --passivepopup "Ya existe un firefox funcionado... O hay un directorio \n llamado .mozilla-otro, que debe borrar" 15 kdialog --yesno "¿Desea borrarlo? - Luego vuelva a empezar" if [ $? -eq 0 ]; then rm -rfv .mozilla-otro else echo "Ok. No lo borramos" fi exit 0 else echo "Ok. No existe antiguo directorio .mozilla-otro" fi
# Fin de la comprobación de errores echo "Renombramos .mozilla a .mozilla-otro y creamos un directorio llamado .mozilla para montar la encriptación" mv -fv $HOME/.mozilla $HOME/.mozilla-otro ; mkdir -v $HOME/.mozilla # Solicitamos autorización. Debemos tener instalado KsshAskPass. Búscala en # tu repositorio linux, com dnf, apt-get, search ksshaskpass encfs -v --extpass=/usr/bin/ksshaskpass $HOME/.mozilla-encrypt $HOME/.mozilla # Directorio=`cat .mozilla/firefox/profiles.ini | grep Path | sed s/Path=/''/g | head -n 1` # Comprobamos que ha sido exitosa la contraseña if [ $? -eq 0 ]; then echo "OK EN LA AUTORIZACIÓN" firefox kdialog --passivepopup "Espere por favor..." 10 # Tras terminar, forzamos desmontar echo "Desmontamos la unidad creada para ser montada" fusermount -u $HOME/.mozilla echo "Borramos el directorio vacío creado: .mozilla" rm -rf $HOME/.mozilla # Volvemos a poner la versión previa a la versión montada. renombrando el fichero echo "Renombramos mozilla-otro a mozilla" mv -fv $HOME/.mozilla-otro $HOME/.mozilla kdialog --passivepopup "Terminado..." 5 kdialog --sorry "Gracias por cerrar la apliación.\nTodo cerrado." else echo "FALLO EN LA AUTORIZACIÓN" echo "Borramos el directorio vacío creado: .mozilla" # Borramos el directorio creado para la versión encriptada, que no se va a usar. rm -rf $HOME/.mozilla # Volvemos a poner la versión previa a la versión montada. echo "Renombramos mozilla-otro a mozilla" mv -fv $HOME/.mozilla-otro $HOME/.mozilla firefox fi # Desmontamos si se hubiera montado con la clave correcta echo "FORZAMOS a desmontar si se hubiera montado con la clave correcta (que no debería)" fusermount -u $HOME/.mozilla # Script terminado.

Después puedes crear un acceso directorio en el escritorio sustituyendo  la ruta de tu firefox, por "efirefox.sh"

Para rizar el rizo... Pensando en esos usuarios de escritorio... que no tienen porqué saber como funciona el sistema, pero pueden haber tenido problemas para restaurar una sesión encriptada...  Ahora vamos a hacer un script que les permita Crear copias de seguridad de los datos Encriptados y Restaurarlo cuando fuera preciso.... (Debes dejar hecha una copia, es tu obligación)

Este es el script:

vim bin/restaura-firefox-encrypt.sh

después escriba:

chmod a+x bin/restaura-firefox-encrypt.sh
#!/bin/bash
# Script que se puede utilizar para crear una copia de seguridad de los datos encriptados
# Y para restaurarlos, en caso de pérdida, restaurando los datos encriptados.
# Obtenemos la fecha y hora de hoy y ahora
Fecha=`date +%Y-%m-%d--%Hh-%Mm`
# Tratamos de obtener si existe el nombre del fichero de la última copia de seguridad, 
# para el caso de que quiera ser restaurado.  (para agilizar proceso automático)
Fichero=`dir -1 -t $HOME/CopiaSeg-mozilla-encrypt*  | head -n 1`
# Menú que pregunta que quiere hacer, crear o restaurar copia
respuesta=$( kdialog --title "¿RESTAURAR COPIA ANTERIOR O CREAR COPIA NUEVA?" \
                    --radiolist "Selecciona una opción" \
                    opcion1 "Restaurar copia de segridad" on\
                    opcion2 "Crear Copia Nueva" off\
                    opcion3 "Salir" off )
echo $respuesta
# Restaurar copia
if [ "$respuesta" == "opcion1" ] ; then
	echo $Fichero
	# Si no hay fichero de copia, tratamos de elegirlo de forma manual...
	if [ "$Fichero" == "" ] ; then
		echo "No hay fichro seleccionado, se requiere acción manual."
		kdialog --warningcontinuecancel "Vamos a restaurar .mozilla-encrypt, por lo que ahora deberá buscar\n\ny elegir un fichero que puede llamarse CopiaSeg-mozilla-encrypt-2021-XX-YY.tgz\n\nO algo parecido para restaurar el directorio."
		Fichero=`kdialog --getopenfilename $HOME/ '*.tgz'`
		if [ "$Fichero" == "" ] ; then 
			kdialog --passivepopup "Cancelado..." 5
			exit 0
		fi
	else
        # Elegimos el fichero $Fichero, que era la copia más reciente.
		echo "Fichero seleccionado: $Fichero"
	fi
	kdialog --passivepopup "Restaurando fichero..." 5
	# Hacemos una copia de la versión previa
	mv .mozilla-encrypt .mozilla-encrypt-$Fecha
	# Restaurar...
	tar xvfz $Fichero -C /
	kdialog --passivepopup "RESTAURADO. (VIEJA COPIA RENOMBADA COMO: .mozilla-encrypt-$Fecha)" 5
	echo "Se operó con el fichero: $Fichero"
	echo "Terminado"
fi
# Hacer una nueva copia de segridad
if [ "$respuesta" == "opcion2" ] ; then
        kdialog --passivepopup "Comienzo..." 5
	tar cvfz CopiaSeg-mozilla-encrypt-$Fecha.tgz $HOME/.mozilla-encrypt
        kdialog --passivepopup "Concluido..." 5
fi
# Salir.

 

Creamos el archivo "Desktop" en y para el escritorio: RESTAURAR-FIREFOX.desktop

 

[Desktop Entry]
Comment[es_ES]=Restaurar Firefox
Comment=Restaurar Firefox
Exec=$HOME/bin/restaura-firefox-encrypt.sh
GenericName[es_ES]=Restaurar Firefox
GenericName=Restaurar Firefox
Icon=firefox
MimeType=
Name[es_ES]=RESTAURAR FIREFOX
Name=Enlace a aplicación
Path=
StartupNotify=true
Terminal=false
TerminalOptions=
Type=Application
X-DBUS-ServiceName=
X-DBUS-StartupType=
X-KDE-SubstituteUID=false
X-KDE-Username=
Pin It

Escribir un comentario


Código de seguridad
Refescar



Redes:



 

Suscribete / Newsletter

Suscribete a nuestras Newsletter y periódicamente recibirás un resumen de las noticias publicadas.

Donar a LinuxParty

Probablemente te niegues, pero.. ¿Podrías ayudarnos con una donación?


Tutorial de Linux

Filtro por Categorías

Usamos cookies propias y de terceros para mejorar la navegación y tareas analíticas. Al continuar navegando entendemos que aceptas nuestra política de cookies. Ver política