En este momento estás viendo Cómo proteger directorios y ficheros en sistemas GNU-Linux. Permisos

Cómo proteger directorios y ficheros en sistemas GNU-Linux. Permisos

Ocultar, cambiar permisos y encriptar ficheros en GNU-Linux

Los ficheros ocultos son ficheros normales con atributos que hacen que no sean visibles para el usuario. Estos atributos pueden venir impuestos por el sistema o la intervención del usuario. El sistema hace uso de estos atributos para proteger ficheros importantes para el SO, pero también nos puede ser muy útil a los usuarios.

En este artículo vamos a ver como podemos ocultar directorios y ficheros en nuestra distribución GNU/Linux. Si el equipo con el trabajamos lo utiliza alguien más, y no hemos creado otro usuario, tal vez nos interese ocultar algún fichero o directorio para que no esté a la vista de otros usuarios. También puede ser útil para esconder algún fichero de configuración que no queremos que nadie toque.

También veremos como cambiar los permisos para gestionar los accesos y como encriptar ficheros en sistemas GNU/Linux.

Tenemos que tener claro que cualquier usuario de GNU/Linux, por poco que sepa, podrá encontrar los ficheros ocultos fácilmente. Así que, si queremos más seguridad, la solución será encriptar el contenido o cambiar los permisos. Veremos todas las opciones.

Sumario

  • Ocultar ficheros en GNU/Linux
    • Añadiendo un punto antes del nombre del fichero o directorio
    • Con el fichero «.hidden»
  • Ocultar ficheros en GNU/Linux de forma segura
    • Cambiar permisos
    • Crear un fichero oculto protegido con contraseña desde la interfaz gráfica
    • Crear ficheros encriptados con la terminal
      • encrypt
      • GPG
  • Otras opciones

Ocultar ficheros en GNU/Linux

Cuando en la terminal ejecutamos el comando «ls», nos muestra un listado del contenido del directorio en el que nos encontremos. Si a este comando le añadimos la opción «-a», también nos muestra los contenidos ocultos que encontramos con un «.» delante del nombre. Hay muchos ficheros ocultos en el sistema por seguridad para intentar evitar daños, ya sea por desconocimiento o por malas intenciones y también lo podemos utilizar si, simplemente, nos interesa quitar de en medio directorios y ficheros con los que no solemos interactuar.

Tenemos dos formas de ocultar ficheros en GNU/Linux, añadiendo un punto antes del nombre del fichero o directorio o creando un fichero llamado «.hidden», que ocultará todos los ficheros que incluyamos en el. Vamos a verlo.

Añadiendo un punto antes del nombre del fichero o directorio

Esta forma es la más sencilla y consiste en añadir un «.» antes del nombre del fichero o directorio. Esto lo podemos hacer al crear el fichero o directorio o renombrándolo, ya sea con nuestro gestor de ficheros preferido, ya sea Nautilus, Nemo, Caja, etc…, o bien, desde la terminal.

Desde el gestor de ficheros solo tenemos que seleccionar el fichero a ocultar y con el botón secundario abrir el menú contextual correspondiente. Clicamos en cambiar nombre y añadimos el punto al nombre.

Para ver los ficheros ocultos desde el navegador de ficheros, tenemos que ir a la pestaña «Ver». Luego, marcar la casilla «Mostrar los archivos ocultos» y a continuación, se mostrarán los ficheros/directorios ocultos. También podemos presionar Ctrl + H para intercambiar entre mostrar y ocultar.

Desde la terminal lo haremos con el comando «mv»

mv fichero.txt .fichero.txt

También lo podemos hacer con directorios

Con el fichero «.hidden»

En alguna ocasión nos puede interesar ocultar un fichero/directorio, con el único fin de quitarlo de en medio, pero necesitaremos no cambiarle la ruta. Por ejemplo, si trabajamos con «Virtualbox», esta aplicación nos crea un directorio en nuestra carpeta personal con todas las máquinas virtuales que instalemos. Si este directorio lo renombramos con el «.» delante, le cambiamos la ruta y el software no lo encontrará y creara uno nuevo.

Lo mismo nos pasa cuando instalamos aplicaciones «Snap», que crean unos ficheros de configuración que normalmente no tocamos.

Para resolver este problema, tendremos que crear un fichero al que llamaremos «.hidden» y simplemente añadiremos el nombre de los ficheros que queremos ocultar sin cambiarles el nombre.

Evidentemente lo podemos hacer con el entorno gráfico creando un nuevo fichero «.hidden» y, como hemos dicho, añadirle lo que queramos ocultar. Una vez realizada la operación, si lo haces desde el propio navegador de ficheros, necesitarás actualizarlo o reiniciar. Para ello utiliza el atajo de teclado Ctrl+R o F5. Esta opción funciona en Nautilus, Nemo, Caja y Thunar.

Con la terminal creamos el fichero «.hidden» y añadimos los queremos ocultar. O con el comando «echo» y redirigiendo la salida standar al fichero «.hidden», nos lo creará.

touch .hidden

echo "fichero.txt" >> .hidden

También lo podemos editar con «nano», «vi», «vim», o el que nos guste usar

nano .hidden

E incluir los nombres de los ficheros a ocultar.

Es un truco que funciona en todas las distribuciones y que es realmente útil, además este método te funcionará también en Android. Ten en cuenta que este sistema oculta los ficheros en el entorno gráfico (navegador de ficheros), pero no en la terminal donde seguirá apareciendo el fichero.

Ocultar ficheros en GNU/Linux de forma segura

Lo que hemos visto hasta ahora es muy práctico en un uso doméstico de nuestro equipo, pero no es una forma segura de ocultar ficheros/directorios a la vista de otros usuarios. Cualquier persona que acceda a tu equipo, con pocos conocimientos, lo podrá hacer.

Vamos a ver como podemos proteger estos ficheros/directorios además de ocultarlos. Como siempre, en GNU/Linux, hay diferentes maneras de hacerlo.

Cambiar los permisos

Si hemos creado varias cuentas de usuario en un equipo, cualquier usuario, con los suficientes conocimientos, puede intentar acceder a tu directorio «/home» desde su cuenta, y listar tus ficheros y directorios. Pero si cambiamos los permisos en un fichero/directorio, impediremos que puedan ver o acceder a ese fichero/directorio. Podemos cambiar los permisos en ficheros/directorios tanto ocultos, como en los que no lo están.

Para definir los permisos tenemos que saber que estos se otorgan al propietario, al grupo y a otros. Esto lo podemos ver al listar un directorio con «ls -la», donde lo primero que encontramos es el triplete de permisos. Veamos.

drwxr-xr-x esto nos indica que es un directorio «d», que el propietario «rwx» tiene permisos de lectura «r», escritura «w» y ejecución «x», que el grupo al que pertenece el usuario los tiene de lectura y ejecución «r-x» y que otros usuarios los tienen de lectura y ejecución «r-x»

-rwxr–r– En este caso es un fichero regular «-«, los permisos son de lectura, escritura y ejecución para el propietario, de lectura para el grupo «r–« y para otros «r–«.

Veamos un ejemplo. Si queremos que un fichero regular, tenga permisos completos para el propietario, de lectura para el grupo y ninguno para otros, sería

-rwxr-----

Para cambiar los permisos utilizamos el comando «chmod». Este comando tiene la siguiente sintaxis.

chmod [opciones] [argumento]

Con el primer argumento especificamos a quien modificamos los permisos: será «u» para el propietario, «g» para el grupo y «o» para otros. Los podemos utilizar combinándolos. Seguidamente con «+» y «-«, añadiremos o quitaremos permisos. Con «r», «w» y «x» los establecemos. Para terminar nos faltará el nombre del fichero/directorio.

Lo vemos con unos ejemplos

Para quitar el permiso de ejecución al propietario

chmod u-w nombre_fichero

Para dar permisos totales al propietario

chmod u+rwx nombre_fichero

Para quitar permiso de ejecución al grupo sería

chmod g-x nombre_fichero

Los permisos también los podemos gestionar con la notación octal. Observa la siguiente tabla de equivalencias

BinarioOctalModo de Fichero
0000
0011–x
0102-w-
0113-wx
1004r–
1015r-x
1106rw-
1117rwx

Siguiendo las correspondencias de la tabla podemos sustituir los argumentos antes vistos, por la notación octal. Veámoslo con unos ejemplos. Para dar todos los permisos a todos,

chmod ugo+rwx nombre_fichero

es lo mismo que

chmod 777 nombre_fichero

Para proporcionar permiso de lectura, escritura y ejecución «7» para el usuario, permiso de lectura y escritura «6» para el grupo y, permiso de lectura «4» para otros.

chmod u+rwx, g+rw, o+r nombre_fichero
o
chmod 764 nombre_fichero

Para dar todos los permisos al propietario y grupo, y de lectura y ejecución a otros

chmod 775 nombre_fichero

Así pues, si no queremos que nadie tenga acceso al fichero/directorio

chmod 700 nombre_fichero

Lo podemos hacer con el navegador de ficheros en la pestaña «Permisos» del cuadro de diálogo «Propiedades» del fichero en cuestión.

Crear un fichero oculto protegido con contraseña desde la interfaz gráfica

Otra opción interesante es comprimir un fichero/directorio en un «zip» protegido con contraseña. Los pasos son:

  1. – Empezamos abriendo el Administrador de archivos en el directorio que queramos.
  2. – Hacemos clic con el botón derecho en un área vacía, luego haga clic en Nueva carpeta (una carpeta y un directorio son lo mismo).
  3. – Ponemos nombre al directorio «Prueba» y hacemos clic en «Crear«.
  1. – Botón secundario sobre el directorio nuevo y seleccionamos «abrir con». Elegimos «Gestor de archivos».
  2. – Con botón secundario sobre «Prueba» elegimos «crear un archivador».
  1. – En el cuadro de diálogo «Crear archivo» , el nombre del fichero debe ser «Prueba» . Justo a la derecha, haz clic en el menú desplegable y selecciona el formato .zip .
  2. – Hacemos clic en «Otras opciones». Escribimos una contraseña para nuestro fichero y luego haga clic en «Crear».
  1. – Cerramos el «Gestor de archivos» y deberíamos ver un fichero «Prueba.zip» en el directorio actual.
  2. – Solo nos queda ocultar el fichero. Hacemos clic con el botón derecho en el fichero «Prueba.zip» y clic en «Cambiar nombre» y agregamos un punto al principio del nombre del fichero.

Crear ficheros encriptados con la terminal

Si quieres tener más seguridad, la solución es encriptar los ficheros. Vamos a ver como hacerlo con dos herramientas, encript y GPG.

Crear ficheros encriptados con «encrypt» desde la terminal

Como vamos a ver, cifrar un fichero requiere pocos pasos con la terminal de GNU/Linux.

1.- Para crear un fichero oculto y protegido con contraseña desde la línea de comandos, comenzaremos por crear un nuevo fichero de texto y le añadimos algo de contenido.

touch encriptar.txt

nano encriptar.txt

2.- A continuación, comprimimos y ciframos el fichero

zip ––encrypt encriptar.zip encriptar.txt

3.- Nos pedirá introducir una contraseña y confirmarla.

4.- Con el comando «ls» veremos que ya tenemos el fichero «encriptar.zip».
5.- Y finalmente lo ocultamos renombrándolo y añadiendo el punto al principio

mv encriptar.zip .encriptar.zip

lo verificamos con los comandos «ls -l» y «ls -la», para confirmar que el fichero esta oculto.

Encriptar un fichero con GPG desde la terminal

Para encriptar vamos a utilizar ahora la herramienta GPG, acronimo de «GNU Privacy Guard». Es una herramienta de cifrado y firmas digitales que utiliza cifrado simetrico.

Tenemos que desplazarnos con el comando «cd», al directorio donde se encuentra el fichero/directorio que queremos encriptar y ponerle contraseña. Una vez en el directorio ejecutamos,

gpg -c nombre_fichero.txt

Nos pedirá que introduzcamos la contraseña y la confirmemos. Se creara un fichero llamado «nombre_fichero.txt.gpg»

Este procedimiento mantendrá el fichero original junto al encriptado, por ello es recomendable, si lo quieres proteger, que borres el original y guardes solamente el fichero cifrado.

Si intentamos abrir este nuevo fichero con extensión gpg, veremos que solo tiene símbolos inenteligíbles, lo que significa que el fichero está cifrado y solo se puede acceder con la contraseña que hemos especificado.

Para desencriptarlo y ver su contenido tendremos que ejecutar el siguiente comando

gpg -d nombre_fichero.txt.gpg

Nos pedirá la contraseña y creará un fichero con el contenido del fichero original.

Para saber más sobre el comando ejecuta

gpg --help

Otras opciones

Si se trata de un fichero creado con Libreoffice u otro software similar, podemos guardarlo protegido con contraseña. En Libreoffice, en el menu «Archivo», seleccionamos «guardar como» y elegimos la opción guardar con contraseña. También nos pedirá introducir la contraseña y confirmarla.

Otra opción más rocambolesca es ocultar un fichero dentro de una imagen. Este procedimiento se llama «esteganografía». Si estas interesado, puedes encontrar mucha información en internet.

Si tienes algún comentario que hacer, al pie del post tienes un formulario para hacerlo.

Y si quieres contactar conmigo por cualquier otro asunto relacionado con el sitio, o te quieres suscribir para recibir un correo-e una vez al mes con las nuevas publicaciones, en la página de contacto ,tienes otro formulario.

Esta entrada tiene 2 comentarios

  1. Barto

    Buen trabajo Javier

Deja una respuesta

Este sitio usa Akismet para reducir el spam. Aprende cómo se procesan los datos de tus comentarios.