Não conheço uma maneira de comando único para fazer isso. Os programas da GUI estão fazendo um bom interrogatório sobre o disco para adotar a abordagem "correta" e você precisará fazer parte desse trabalho. Você não precisa do sudo e acho que a sequência de eventos resultante é relativamente indolor.
A resposta curta
Use a udisksctl
partir do udisks2
pacote:
udisksctl unlock -b /path/to/disk/partition
udisksctl mount -b /path/to/unlocked/device
Sua conta de usuário precisará ser devidamente autorizada para que o procedimento acima funcione. No Debian e no Ubuntu, isso significa adicionar sua conta ao plugdev
grupo.
Quando você terminar o disco:
udisksctl unmount -b /path/to/unlocked/device
udisksctl lock -b /path/to/disk/partition
udisksctl power-off -b /path/to/disk/or/partition
Como configurar as coisas
Veja como você pode configurar as coisas (via linha de comando) para tornar o processo de usar o disco o mais simples possível. Suponho que você queira usar a totalidade da unidade USB como um único sistema de arquivos. Outras configurações exigirão modificações nas instruções. Advertência sobre variações: não encontrei uma maneira de usar o LVM no contêiner criptografado que permitirá que uma conta sem privilégios desconecte tudo. (Não vejo uma maneira de desativar um grupo de volumes via udisksctl
.)
Para fins de ilustração, diremos que o disco é /dev/sda
. Você precisará de um nome para o sistema de arquivos para facilitar a referência posteriormente. Eu vou usar " example
".
Particionar o disco
Execute sudo parted /dev/sda
e execute os seguintes comandos:
mklabel gpt
mkpart example-part 1MiB -1s
quit
O mkpart
comando provavelmente solicitará que você ajuste ligeiramente os parâmetros. Você deve aceitar os números recomendados.
A partição estará agora disponível via /dev/disk/by-partlabel/example-part
.
Criar e montar a partição LUKS
sudo cryptsetup luksFormat /dev/disk/by-partlabel/example-part
Siga as instruções.
sudo cryptsetup luksOpen /dev/disk/by-partlabel/example-part example-unlocked
O dispositivo criptografado está agora disponível em /dev/mapper/example-unlocked
. Isso não será permanente; é apenas para o processo de instalação.
Crie seu sistema de arquivos
Vamos supor que o sistema de arquivos que você está usando seja XFS. Praticamente qualquer outro sistema de arquivos tradicional funcionará da mesma maneira. O importante é adicionar um rótulo que você possa fazer referência posteriormente:
sudo mkfs -t xfs -L example /dev/mapper/example-unlocked
O dispositivo de bloco do sistema de arquivos agora pode ser acessado via /dev/disk/by-label/example
.
Definir permissões do sistema de arquivos
Por padrão, o sistema de arquivos estará acessível apenas pela raiz. Na maioria dos casos, você provavelmente deseja que os arquivos sejam acessíveis por sua conta de usuário. Supondo que o nome da sua conta seja " user
":
udisksctl mount -b /dev/disk/by-label/example
sudo chown user:user /media/user/example
Fechar tudo para baixo
udisksctl unmount -b /dev/disks/by-label/example
sudo cryptsetup luksClose example-unlocked
Use seu sistema de arquivos
Isto é o que você fará regularmente. Depois de conectar a unidade USB,
udisksctl unlock -b /dev/disks/by-partlabel/example-part
udisksctl mount -b /dev/disks/by-label/example
Se sua conta de usuário for " user
", o sistema de arquivos será montado em /media/user/example
.
Para desmontar o sistema de arquivos:
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
Agora você pode desconectar a unidade USB.
udisks
(ouudisks2
). Investigar as opções do seu utilitário CLI pode fornecer respostas adicionais.