Non conosco un modo a comando singolo per farlo. I programmi della GUI stanno facendo un bel po 'di interrogatorio sul disco per adottare l'approccio "giusto" e dovrai fare un po' di quel lavoro da solo. Non hai bisogno di sudo, però, e penso che la sequenza di eventi risultante sia relativamente indolore.
La risposta breve
Utilizzare udisksctl
dal udisks2
pacchetto:
udisksctl unlock -b /path/to/disk/partition
udisksctl mount -b /path/to/unlocked/device
Il tuo account utente dovrà essere debitamente autorizzato per far funzionare quanto sopra. Su Debian e Ubuntu, ciò significa aggiungere il tuo account al plugdev
gruppo.
Quando hai finito con il disco:
udisksctl unmount -b /path/to/unlocked/device
udisksctl lock -b /path/to/disk/partition
udisksctl power-off -b /path/to/disk/or/partition
Come impostare le cose
Ecco come è possibile impostare le cose (tramite la riga di comando) per rendere il processo di utilizzo del disco il più indolore possibile. Presumo che tu voglia utilizzare l'intera unità USB come un singolo file system. Altre configurazioni richiederanno modifiche alle istruzioni. Avvertenza sulle variazioni: non ho trovato un modo per utilizzare LVM nel contenitore crittografato che consentirà a un account senza privilegi di disconnettere tutto. (Non vedo un modo per disattivare un gruppo di volumi tramite udisksctl
.)
A scopo illustrativo, diremo che il disco è /dev/sda
. Avrai bisogno di un nome per il filesystem per facilitare il riferimento in un secondo momento. Userò " example
".
Partiziona il disco
Esegui sudo parted /dev/sda
ed esegui i seguenti comandi:
mklabel gpt
mkpart example-part 1MiB -1s
quit
Il mkpart
comando probabilmente ti chiederà di modificare leggermente i parametri. Dovresti accettare i numeri consigliati.
La partizione sarà ora disponibile tramite /dev/disk/by-partlabel/example-part
.
Creare e montare la partizione LUKS
sudo cryptsetup luksFormat /dev/disk/by-partlabel/example-part
Segui le istruzioni.
sudo cryptsetup luksOpen /dev/disk/by-partlabel/example-part example-unlocked
Il dispositivo crittografato è ora disponibile all'indirizzo /dev/mapper/example-unlocked
. Questa non sarà una cosa permanente; è solo per il processo di installazione.
Crea il tuo filesystem
Supponiamo che il filesystem che stai usando sia XFS. Praticamente qualsiasi altro filesystem tradizionale funzionerà allo stesso modo. L'importante è aggiungere un'etichetta a cui puoi fare riferimento in seguito:
sudo mkfs -t xfs -L example /dev/mapper/example-unlocked
È ora possibile accedere al dispositivo di blocco del filesystem tramite /dev/disk/by-label/example
.
Imposta le autorizzazioni del filesystem
Per impostazione predefinita, il filesystem sarà accessibile solo da root. Nella maggior parte dei casi, probabilmente desideri che i file siano accessibili dal tuo account utente. Supponendo che il nome del tuo account sia " user
":
udisksctl mount -b /dev/disk/by-label/example
sudo chown user:user /media/user/example
Chiudi tutto
udisksctl unmount -b /dev/disks/by-label/example
sudo cryptsetup luksClose example-unlocked
Usa il tuo filesystem
Questo è ciò che farai regolarmente. Dopo aver collegato l'unità USB,
udisksctl unlock -b /dev/disks/by-partlabel/example-part
udisksctl mount -b /dev/disks/by-label/example
Se il tuo account utente è " user
", il filesystem verrà ora montato su /media/user/example
.
Per smontare il filesystem:
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
Ora puoi scollegare l'unità USB.
udisks
(oudisks2
). L'analisi delle opzioni dalla sua utilità CLI può fornire ulteriori risposte.