No conozco una forma de comando único para hacer esto. Los programas de GUI están haciendo un buen interrogatorio del disco para adoptar el enfoque "correcto" y tendrá que hacer algo de ese trabajo usted mismo. Sin embargo, no necesita sudo, y creo que la secuencia de eventos resultante es relativamente indolora.
La respuesta corta
Uso udisksctl
del udisks2
paquete:
udisksctl unlock -b /path/to/disk/partition
udisksctl mount -b /path/to/unlocked/device
Su cuenta de usuario deberá estar debidamente autorizada para que funcione lo anterior. En Debian y Ubuntu, eso significa agregar su cuenta al plugdev
grupo.
Cuando haya terminado con el disco:
udisksctl unmount -b /path/to/unlocked/device
udisksctl lock -b /path/to/disk/partition
udisksctl power-off -b /path/to/disk/or/partition
Cómo configurar las cosas
Así es como puede configurar las cosas (a través de la línea de comandos) para hacer que el proceso de usar el disco sea lo más sencillo posible. Asumiré que desea utilizar la totalidad de la unidad USB como un único sistema de archivos. Otras configuraciones requerirán modificaciones a las instrucciones. Advertencia sobre las variaciones: no he encontrado una manera de usar LVM en el contenedor encriptado que permita que una cuenta sin privilegios desconecte todo. (No veo una manera de desactivar un grupo de volúmenes a través de udisksctl
).
Para fines de ilustración, diremos que el disco es /dev/sda
. Necesitará un nombre para el sistema de archivos para que sea más fácil hacer referencia más adelante. Usaré " example
".
Particionar el disco
Ejecute sudo parted /dev/sda
y ejecute los siguientes comandos:
mklabel gpt
mkpart example-part 1MiB -1s
quit
El mkpart
comando probablemente le pedirá que ajuste los parámetros ligeramente. Debería aceptar aceptar sus números recomendados.
La partición ahora estará disponible a través de /dev/disk/by-partlabel/example-part
.
Crear y montar la partición LUKS
sudo cryptsetup luksFormat /dev/disk/by-partlabel/example-part
Ir a través de las indicaciones.
sudo cryptsetup luksOpen /dev/disk/by-partlabel/example-part example-unlocked
El dispositivo encriptado ahora está disponible en /dev/mapper/example-unlocked
. Esto no va a ser algo permanente; es solo para el proceso de configuración.
Crea tu sistema de archivos
Supongamos que el sistema de archivos que está utilizando es XFS. Casi cualquier otro sistema de archivos tradicional funcionará de la misma manera. Lo importante es agregar una etiqueta a la que pueda hacer referencia más adelante:
sudo mkfs -t xfs -L example /dev/mapper/example-unlocked
Ahora se puede acceder al dispositivo de bloqueo del sistema de archivos a través de /dev/disk/by-label/example
.
Establecer permisos del sistema de archivos
Por defecto, el sistema de archivos solo será accesible por root. En la mayoría de los casos, probablemente desee que su cuenta de usuario pueda acceder a los archivos. Asumiendo que su nombre de cuenta es " user
":
udisksctl mount -b /dev/disk/by-label/example
sudo chown user:user /media/user/example
Cerrar todo abajo
udisksctl unmount -b /dev/disks/by-label/example
sudo cryptsetup luksClose example-unlocked
Use su sistema de archivos
Esto es lo que harás regularmente. Después de enchufar la unidad USB,
udisksctl unlock -b /dev/disks/by-partlabel/example-part
udisksctl mount -b /dev/disks/by-label/example
Si su cuenta de usuario es " user
", el sistema de archivos ahora se montará en /media/user/example
.
Para desmontar el sistema de archivos:
udisksctl unmount -b /dev/disks/by-label/example
udisksctl lock -b /dev/disks/by-partlabel/example-part
udisksctl power-off -b /dev/disks/by-partlabel/example-part
Ahora puede desconectar la unidad USB.
udisks
(oudisks2
). Investigar las opciones de su utilidad CLI puede proporcionar más respuestas.