Registrarse
Home
Foros
Miembros
Calendario
Normas
Ayuda

Foros de usuarios de openSUSE
Retroceder   ForoSUSE > Zona Técnica > FAQs, Manuales y Tutoriales


Síguenos en Twitter Suscríbete a nuestras noticias Acompáñanos en Facebook

Respuesta
 
Herramientas Desplegado

fuse: Directorio encriptado con contraseña
  #1  
Antiguo 20-ene-2008, 04:20
migtei migtei está desconectado
Miembro Junior
 
Fecha de Ingreso: 23-julio-2006
Ubicación: Mallorca
Mensajes: 387
Agradecimientos: 1
Agradecido 5 Veces en 4 Mensajes
Poder de Credibilidad: 12
migtei está en el buen camino
fuse: Directorio encriptado con contraseña

Quiero crear como usuario normal un directorio para guardar información confidencial al cual acceda con una simple contraseña. Cuando meta cualquier archivo dentro de ese directorio, se encriptará automágicamente convirtiéndose en irreconocible, a no ser que el directorio este "activado" con la contraseña. Puedo "activar" o hacer visible ese directorio a voluntad, o dejarlo desactivado e inaccesible. Por defecto, cuando está "activo" solo la cuenta del usuario que lo monta puede acceder al contenido, ni siquiera root. Todo con dos sencillos comandos, uno para activarlo (montarlo) y otro para desactivarlo (desmontarlo).

Necesitas tener instalados los paquetes:
fuse
encfs
Usa yast para instalarlos, vienen de serie en la suse.

CARGAR EL MÓDULO fuse
Debes tener cargado el módulo fuse (a userspace program can export a file system through the Linux kernel) que ya viene en el kernel estandar. Comprueba si ya está cargado en una consola (xterm o konsole) escribiendo:
Código:
# /sbin/lsmod | grep fuse
fuse                   48404  0
Si no sale nada deberás cargarlo, entra como root en la consola (para entrar como root escribe su y luego la contraseña de root que no se ve al escribir, sales de root con exit) y escribe:
Código:
modprobe fuse
Comprueba de nuevo que esta cargado.
En adelante, para que siempre se cargue automáticamente al arrancar, edita como usuario root (en kde pulsa alt+F2 y dentro del dialogo que sale escribe: kdesu kwrite , y se abre el editor kwrite como usuario root) el archivo /etc/sysconfig/kernel e incluye en la linea apropiada el módulo fuse a cargar en el arranque:
## Type: string
## ServiceRestart: boot.loadmodules
#
# This variable contains the list of modules to be loaded
# once the main filesystem is active
# You will find a few default modules for hardware which
# can not be detected automatically.
#
MODULES_LOADED_ON_BOOT="fuse"

o mediante yast:
Editor de archivos sysconfig => SYSTEM => KERNEL => MODULES_LOADED_ON_BOOT
Escribir en la ventana de diálogo:
fuse
Si todo va bien, tras arrancar, el archivo /var/log/messages muestra (comando para verlo: dmesg) algo similar a:
Nov 26 03:08:31 kandemoor kernel: fuse init (API version 7.7)

¿Tienes cargado el módulo fuse?, pues paaaaaalante...
DIRECTO Al TEMA
En mi ejemplo pongamos que quiero crear el directorio de nombre /home/usuario/.encriptado (el punto al principio del nombre lo hace oculto para que no este a la vista, y porque el contenido parecerá que está en arameo y no interesa verlo, no hace falta). Este directorio es el que va a contener reálmente los archivos (encriptados) que le metamos dentro usando para ello otro directorio de montaje.
El contenido de /home/usuario/.encriptado lo haremos visible sin encriptar cuando lo montemos (como si fuera otra partición de un disco duro) bajo otro directorio a elegir (que sea del usuario), que es el que lo muestra. En mi ejemplo el directorio de montaje se llamará /home/usuario/confidencial (directorio normal sin punto al principio de los que se ven). El directorio /home/usuario/confidencial estará vacío cuando /home/usuario/.encriptado esté desmontado, y mostrará los archivos de /home/usuario/.encriptado de manera normal y sin encriptar cuando esté montado.
Para empezar, mejor es crear los dos directorios antes del tinglado, como usuario normal, en una consola, vas a /home/usuario/ con:
Código:
cd
Y luego creas los dos directorios con:
Código:
mkdir .encriptado  confidencial
NOTA: La documentación dice que no es necesario tenerlos creados antes, que si no los tienes te pregunta y los crea. Peeeero en mi versión actual (1.3.1) eso está roto y debo crearlos antes.
Ahora viene el comando para crear y configurar todo, siempre debes usar rutas absolutas en el comando encfs (empezando con '/'), escribe en la consola como usuario normal:
Código:
encfs /home/usuario/.encriptado  /home/usuario/confidencial
Creando nuevo volumen cifrado.
Por favor, elige una de las siguientes opciones:
 pulsa "x" para modo experto de configuracion,
 pulsa "p" para modo paranoia pre-configurado,
 cualquier otra, o una linea vacia elegira el modo estandar.
?>
Pulso return o tecla gorda para modo estandar
Código:
Seleccionada configuración Estándar.

Configuración finalizada. El sistema de ficheros a ser creado tiene
las siguientes propiedades:
Cifrado del sistema de ficheros: "ssl/blowfish", versión 2:1:1
Codificacion del nombre de fichero: "nameio/block", versión 3:0:1
Tamaño de la llave: 160 bytes
Tamaño de Bloque: 512 bytes
Cada fichero contiene una cabecera de 8 bytes con datos IV únicos.
Nombres de fichero encodeados usando el modo IV de encadenamiento.

Ahora tendrás que introducir una contraseña para tu sistema de ficheros.
Necesitaras recordar esta contraseña, dado que no hay absolutamente
ningún mecanismo de recuperación. Sin embargo, la contraseña puede ser cambiada
más tarde usando encfsctl.

Nueva contraseña Encfs:
Pones la que elijas, no se ve al escribirla. Luego te pide que la vuelvas a escribir:
Código:
Verifique la contraseña Encfs:
Ya está, se acabó trabajar, mira tu nuevo directorio montado en el sistema con el comando:
Código:
mount
...bla bla
encfs on /home/usuario/confidencial type fuse (rw,nosuid,nodev,default_permissions,user=usuario)
Y mira como aparece como si fuese otra partición de disco duro (en realidad muestra la real donde está, /home en este caso), con el comando:
Código:
df -h
...bla bla
encfs                  99G   72G   22G  77% /home/usuario/confidencial
Aquí viene la magia del invento, mete algunos archivos dentro de /home/usuario/confidencial arrastrando con el konqueror por ejemplo, o incluso un directorio entero que contenga más archivos. Todo aparentemente normal mirando /home/usuario/confidencial; pero mira dentro de /home/usuario/.encriptado . Observarás lo mismo que ves en /home/usuario/confidencial, pero encriptado e irreconocible.
Puedes abrir archivos, trabajar y guardar normalmente en /home/usuario/confidencial mientras esté montado. Para desmontar o desactivar el invento debes no tener abierto en programa alguno el directorio /home/usuario/confidencial (no te dejaría desmontar), como usuario en una consola pones:
Código:
fusermount -u /home/usuario/confidencial/
Y compruebas mirando la salida del comando mount que ya no hay línea que comience con la palabra encfs. Ahora mira dentro de /home/usuario/confidencial y lo verás vacío, normal si no tiene nada montado. Todo está a buen recaudo en /home/usuario/.encriptado , que lo miras y parece que se ha roto la máquina de lo feo que es.

EN RESUMEN
Una vez creado, en adelante usa como usuario normal el comando para montar el directorio /home/usuario/.encriptado/ bajo /home/usuario/confidencial/ :
En mi ejemplo:
encfs /home/usuario/.encriptado/ /home/usuario/confidencial/
Comando como usuario normal para desmontar el directorio:
fusermount -u /home/usuario/confidencial/

encfs [opciones] dirRaiz puntoMontaje -- [Opciones de Montaje de FUSE]

MAS COSAS, prrrrr prrrrr probando probando
Funciona bien montar /home/usuario/.encriptado/ bajo otro directorio (vacío) diferente a /home/usuario/confidencial/ , por ejemplo en /home/usuario/zzzejemplo/ o cualquier otro lugar del que tengamos permiso de acceso.

Intento copiar /home/usuario/.encriptado/ dentro de un llavero de memoria usb (stick usb) y luego montarlo en /home/usuario/confidencial/ .
Introduzco el stick usb y espero que lo detecte y lo automonte (en mi caso en /media/USB20FD/ ), luego copio el directorio /home/usuario/.encriptado/ dentro del stick usb e intento montar la versión copiada en el stick usb bajo /home/usuario/confidencial/ , y ¡funciona!, mira la salida del comando mount que muestra el stick usb y luego el sistema encfs montado:
Código:
/dev/sdb1 on /media/USB20FD type vfat (rw,nosuid,nodev,noatime,flush,uid=1000,utf8,shortname=lower)
encfs on /home/usuario/confidencial type fuse (rw,nosuid,nodev,default_permissions,user=usuario)
Cuando miro dentro de /home/usuario/confidencial veo el contenido desencriptado y normal de /media/USB20FD/.encriptado . Muy bueno para llevarlo consigo de un lado a otro, o para tenerlo fuera del sistema para más seguridad.

Pruebo intentar entrar como root y no me deja:
Código:
root#>  ls  /home/usuario/confidencial
ls: no se puede acceder a /home/usuario/confidencial: Permiso denegado
Para poder entrar root debería usar la opción allow_root , o para que entre cualquier otro usuario la opción allow_other . Para que un usuario normal pueda usar estas opciones al montar, solo debes crear como root el archivo /etc/fuse.conf y meter en una línea:
user_allow_other

Pruebo usar como punto de montaje un directorio que ya tenga dentro archivos, meto archivos y cosas en /home/usuario/confidencial a ver que pasa. Debo usar al montar la opción nonempty así:
Código:
encfs  /media/USB20FD/.encriptado/  /home/usuario/confidencial/ -- -o nonempty
Ahora los archivos que metí en /home/usuario/confidencial no se ven, en cambio sí se ven normales los del directorio /media/USB20FD/.encriptado del stick usb que hemos montado. No se han borrado los de /home/usuario/confidencial , solo quedan ocultos. Esto serviría para satisfacer a los mirones "curiosos" con archivos con apariencia verosimil pero falsos. Luego al montar son sustituidos por los verdaderos; y recuerda que con el añadido de no dejar acceder mas que al usuario que lo ha montado. Mientras está montado, el "curioso" solo podría ver el contenido verdadero y desencriptado en /home/usuario/confidencial si accede logueado como el usuario que lo monta, cualquier otro usuario vería "Permiso denegado".

Si quieres, le añades al comando encfs al final más opciones de fuse, como ejemplo así:
Código:
encfs  /media/USB20FD/.encriptado  /home/usuario/confidencial -- -o nonempty -o fsname=pericodelospalotes
Ahora mira con el comando mount el nombre del volumen montado:
Código:
mount
...
/dev/sdb1 on /media/USB20FD type vfat (rw,nosuid,nodev,noatime,flush,uid=1000,utf8,shortname=lower)
pericodelospalotes on /home/usuario/confidencial type fuse (rw,nosuid,nodev,default_permissions,user=usuario)
Para más información, en la barra de direcciones de konqueror escribe:
man:encfs
Mira el archivo /usr/share/doc/packages/fuse/README
Para obtener ayuda del comando encfs y sus opciones, en una consola escribe:
Código:
encfs -H
Suerte...
Responder Citando
Respuesta

Marcadores


(0 miembros y 1 visitantes)
 
Herramientas
Desplegado

Normas de Publicación
No puedes crear nuevos temas
No puedes responder mensajes
No puedes subir archivos adjuntos
No puedes editar tus mensajes

Los Códigos BB están Activado
Las Caritas están Activado
[IMG] está Activado
El Código HTML está Desactivado

Ir al Foro

Temas Similares
Tema Autor Foro Respuestas Último mensaje
Gestión simple de permisos (I) karlggest FAQs, Manuales y Tutoriales 4 05-ene-2008 15:03
Comandos Básico de linux gimakos FAQs, Manuales y Tutoriales 5 21-jul-2007 01:34
Particione ntfs,NTFS-3G y Fuse, puedo usarlo pero me da un error que no sé solucionar suses Software 4 13-jun-2007 20:00
Listas de comandos utilies gimakos FAQs, Manuales y Tutoriales 5 07-may-2006 09:25
Listas de comandos utilies gimakos Programación y Scripts 10 27-abr-2006 09:13



Síguenos en Twitter Suscríbete a nuestras noticias Acompáñanos en Facebook


La franja horaria es GMT +2. Ahora son las 05:59.
Powered by vBulletin™
Copyright © vBulletin Solutions, Inc. All rights reserved.

Esta página está bajo una licencia de Creative Commons, salvo que no se indique lo contrario.
Creative Commons License

Valid CSS!

Diseño por:Designed by: vbdesigns.devbdesigns.de 
Contáctenos - ForoSUSE - Archivo - Declaración de Privacidad - Arriba