Página principal » cómo » Cómo proteger con contraseña los archivos de texto usando Vim en Linux (o macOS)

    Cómo proteger con contraseña los archivos de texto usando Vim en Linux (o macOS)

    El editor de texto vim, una herramienta estándar incluida en Linux y macOS, puede cifrar rápidamente los archivos de texto con una contraseña. Es más rápido y más conveniente que cifrar un archivo de texto con una utilidad separada. Aquí es cómo configurarlo.

    Asegúrese de que Vim de su sistema tenga soporte de cifrado

    Algunas distribuciones de Linux, incluyendo Ubuntu, incluyen una versión mínima de vim por defecto, destinada solo para la edición básica de texto. Por ejemplo, Ubuntu llama a este paquete "vim-tiny". Si intenta usar el cifrado en una versión mínima de vim, verá un mensaje de "Lo sentimos, este comando no está disponible en esta versión".

    Es posible que deba instalar la versión completa de vim para obtener esta función en su distribución de Linux. Por ejemplo, en Ubuntu, puede obtener la versión completa de vim ejecutando el siguiente comando:

    sudo apt install vim

    La versión de vim incluida de forma predeterminada con macOS incluye soporte de cifrado, por lo que no necesita instalar nada más en una Mac. Simplemente inicie una ventana de terminal desde Finder> Aplicaciones> Utilidades> Terminal y los comandos funcionarán igual en macOS que en Linux.

    Cómo cifrar un archivo con una contraseña

    El proceso básico es relativamente simple si sabes cómo usar vi. Si no lo haces, podrías quedarte colgado de la interfaz modal de vi. Cuando abres un archivo de texto en vim, hay dos modos. De forma predeterminada, está en un "modo de comando" en el que puede usar las teclas del teclado para ejecutar comandos. También puede presionar "i" para ingresar al "Modo de inserción", donde puede escribir normalmente y mover el cursor con las teclas de flecha, como lo haría en otros editores de texto. Para salir del modo de inserción, presione "Esc" y volverá al modo de comando.

    Primero, lanza vim. Por ejemplo, el siguiente comando ejecutará vim y lo apuntará a un archivo llamado "ejemplo" en el directorio actual. Si ese archivo no existe, vim creará un archivo llamado "ejemplo" en el directorio actual cuando lo guarde:

    vi ejemplo

    También puede señalar vi en otra ruta con un comando como el siguiente. No tienes que crear un archivo en el directorio actual.

    vi / ruta / a / archivo

    Edita el archivo normalmente. Por ejemplo, puede presionar "i" para ingresar al modo de inserción y luego escribir el texto normalmente. Mientras edita un archivo, presione Esc para asegurarse de que está en modo de comando y no en modo de inserción. Tipo :X y presiona enter.

    Se le pedirá que ingrese una contraseña con la cual se cifrará el archivo de texto. Escriba la contraseña que desea usar, presione Entrar y vuelva a escribirla para confirmar. Deberá ingresar esta contraseña cada vez que desee abrir el archivo en el futuro.

    Vim le advertirá que está utilizando un método de cifrado débil de forma predeterminada. Le mostraremos cómo utilizar un método de cifrado más seguro más adelante..

    Se asociará una contraseña con el archivo de texto actual en Vim, pero deberá guardar los cambios antes de que la contraseña se asigne realmente al archivo. Para hacer esto, presione Esc para asegurarse de que está en modo de comando y luego escriba : wq y presione Entrar para escribir el archivo en el disco y salir de Vim.

    La próxima vez que intente abrir el archivo en Vim, por ejemplo, ejecute "vi ejemplo"-Vim le pedirá la contraseña asociada con el archivo.

    Si ingresa una contraseña incorrecta, el contenido del archivo será incomprensible..

    Advertencia: No guardes el archivo si lo abres y ves galimatías. Esto guardará los datos dañados en el archivo y sobrescribirá los datos cifrados. Solo corre : q para salir de Vim sin guardar el archivo en el disco.

    Hay otro atajo que puedes usar aquí. En lugar de crear o abrir un archivo con "vim / ruta / a / archivo“, Puede ejecutar el siguiente comando para hacer que vim cree o abra un archivo y haga que se le solicite inmediatamente que cifre el archivo con una contraseña:

    vi -x / ruta / a / archivo

    Tenga en cuenta que debe usar una x minúscula aquí, mientras que debe usar una x mayúscula al ejecutar el comando de cifrado asociado desde dentro de Vim.

    Cómo habilitar un cifrado más fuerte en Vim

    Por defecto, Vim usa un cifrado muy malo para estos archivos. El método de encriptación predeterminado "zip" o "pkzip 'es compatible con versiones anteriores 7.2 y anteriores de vim. Desafortunadamente, se puede romper muy, muy fácilmente, incluso en hardware de los años 90. Como lo indica la documentación oficial: "El algoritmo utilizado para 'cryptmethod'" zip "es rompible. Una clave de 4 caracteres en aproximadamente una hora, una clave de 6 caracteres en un día (en una PC Pentium 133) ".

    No debe utilizar el cifrado pkzip para sus documentos de texto si desea alguna seguridad. Sin embargo, Vim proporciona mejores métodos de cifrado. La versión 7.3 de Vim lanzada en 2010 agregó un método de cifrado de "pez globo", que es mejor. La versión 7.4.399 lanzada en 2014 incluía un nuevo método de cifrado Blowfish que corrige los problemas de seguridad en el método original de cifrado "blowfish", y lo denomina "blowfish2".

    El único problema es que los archivos que creas con métodos de cifrado más fuertes requieren estas versiones más nuevas de Vim. Por lo tanto, si desea utilizar el cifrado "blowfish2", solo podrá abrir ese archivo con las versiones Vim 7.4.399 y superiores. Mientras esté bien con eso, debe usar el método de cifrado más sólido posible.

    Para verificar qué método de encriptación utiliza un archivo, abra el archivo en vim, presione la tecla Esc para asegurarse de que está en el modo de comando, escriba el siguiente comando y presione Enter.

    : setlocal cm?

    El "cm" aquí significa "método criptográfico".

    Verá el método de cifrado utilizado para el archivo actual que se muestra en la parte inferior de la pantalla vim.

    Para elegir un método de cifrado, ejecute uno de los siguientes comandos. El cifrado "blowfish2" es el mejor para la seguridad.

    : setlocal cm = blowfish2: setlocal cm = blowfish: setlocal cm = zip

    Una vez que haya seleccionado su algoritmo de cifrado, use el : w comando para escribir el archivo en el disco o la : wq comando para escribir el archivo en el disco y salir.

    La próxima vez que vuelva a abrir el archivo en Vim, no se quejará de un algoritmo de cifrado débil. También verá el algoritmo de cifrado que seleccionó en la parte inferior de la pantalla vim cuando abra el archivo.

    Cómo cambiar o eliminar una contraseña

    Para eliminar una contraseña de un archivo, abra ese archivo en Vim y ejecute :X mando. Se le pedirá que proporcione una nueva clave de cifrado. Introduzca la nueva contraseña que desea utilizar aquí. Para eliminar la contraseña completamente, deje el campo de la contraseña en blanco y solo presione Enter dos veces.

    Guarde el archivo y salga después con : wq . El archivo será descifrado, por lo que no se le pedirá que ingrese una contraseña cuando abra el archivo en el futuro.

    Asegúrese de recordar cualquier contraseña que establezca o no podrá acceder al contenido del archivo en el futuro.