Cifrar carpeta documentos con HomeD

Existen formas de cifrar la carpeta Documentos, donde se guardan contenidos personales o privados. Desde la década de 2020, ya se está desarrollando una versión experimental de cifrado que utiliza el servicio del sistema Deepin y una serie de pasos manuales, aunque no son difíciles de llevar a cabo.

Esta opción hace que Systemd (desde la versión 245) se encargue de cifrar la carpeta de documentos. No cifra todo el sistema, sino solo los documentos del nuevo usuario. El cifrado se puede realizar creando una nueva cuenta de usuario desde la terminal con la cuenta actual. El proceso consta principalmente de los siguientes comandos, pero se debe realizar con una cuenta ajena al usuario que se va a crear y no eliminarla.

Cómo cifrar carpeta documentos con HomeD

Los pasos en cuestión son:

  • Activar el servicio systemd-homed
    • sudo authselect enable-feature with-systemd-homed
    • systemctl enable --now systemd-homed.service
  • Crear usuario desde la terminal (reemplaza el nombre de usuario y el uid por los que prefieras)
    • sudo homectl create [nombredeusuario] --uid=1050 --storage=luks --fs-type=btrfs --luks-extra-mount-options=defcontext=system_u:object_r:user_home_dir_t:s0
Solicitar cuenta Systemd-homed
Es posible que se pida una contraseña para crear la cuenta.
  • Opcionalmente se puede asignar permisos de administrador (aunque no al mismo nivel de root)
    • sudo homectl update [nombredeusuario] --member-of=sudo
    • sudo homectl update [nombredeusuario] --member-of=wheel,audio,docker,kvm,video,plugdev,portage,users,vboxusers,libvirt
  • Alguna herramientas útiles:
    • sudo homectl inspect [nombredeusuario]
    • sudo homectl update [nombredeusuario] --luks-discard=true --luks-offline-discard=true (recomendado para discos sólidos)

Consideraciones

Ten en cuenta que se usarán contenedores LUKS, que facilitará la recuperación de datos en caso de que se necesite abrirlos desde Windows o una nueva instancia de Deepin. Además, Deepin 25 no tiene incorporado opciones para abrir las cuentas de forma nativa (tal como ocurría con las cuentas creadas por ecryptfs, que ya no recomendamos usarlo por seguridad). Los usuarios no pueden eliminar directamente el contenedor desde el centro de control, debes usar el comando homectl y el tipo de orden que encontrarás en la fuentes.

Un detalle importante es el tipo de almacenamiento. Este sistema suele crear un «contenedor» que ocupa demasiado espacio de almacenamiento, en especial con discos SSD. Es por lo cual que se usan los comandos adicionales --luks-discard=true --luks-offline-discard=true. Debido a que el sistema suele estar un espacio determinado de almacenamiento, puedes probar reasignando el contenedor a su máxima capacidad con homectl resize [nombredeusuario] max (más detalles en Github: 1 y 2). El contenedor nunca ocupará toda la partición de Deepin, ya que se debe dejar espacio para software y actualizaciones.

En el caso de Distrobox, se reportó que para crear contenedores es necesario configurar por separado los archivos de configuración etc/subuid y etc/subgid y ejecutar con podmansystem migrate (fuente: Github). Si necesitas puedes ejecutar los comandos sudo usermod --add-subuids 524288-65536 [nombredeusuario] y sudo usermod --add-subgids 524288-65536 [nombredeusuario]. Por desgracia, no puedes realizar esta modificación en la nueva cuenta de usuario, deberás realizar desde una cuenta anterior para que los resultados sean los deseados.

Si necesitas respaldar las llaves del cifrado, puedes usar los comandos de referencia que puedes ver a continuación (puedes cambiar la ubicación si deseas):

mv /var/lib/systemd/home/local.private /var/lib/systemd/home/local.private.bak$(date +%F)
mv /var/lib/systemd/home/local.public /var/lib/systemd/home/local.public.bak$(date +%F)

Fuente: Eldon.me

Lectura adicional

Etiquetas:

¿Recomendarías este artículo?