Nie wiem, jak to zrobić za pomocą jednego polecenia. Programy GUI przeprowadzają dość przesłuchanie dysku, aby przyjąć „właściwe” podejście i będziesz musiał wykonać część tej pracy sam. Jednak nie potrzebujesz sudo i myślę, że wynikowa sekwencja wydarzeń jest stosunkowo bezbolesna.
Krótka odpowiedź
Użyj udisksctl
z udisks2
pakietu:
udisksctl unlock -b /path/to/disk/partition
udisksctl mount -b /path/to/unlocked/device
Twoje konto użytkownika musi być odpowiednio autoryzowane, aby powyższe działało. W systemach Debian i Ubuntu oznacza to dodanie konta do plugdev
grupy.
Po zakończeniu pracy z dyskiem:
udisksctl unmount -b /path/to/unlocked/device
udisksctl lock -b /path/to/disk/partition
udisksctl power-off -b /path/to/disk/or/partition
Jak skonfigurować rzeczy
Oto jak możesz skonfigurować różne rzeczy (za pomocą wiersza poleceń), aby proces korzystania z dysku był jak najbardziej bezbolesny. Zakładam, że chcesz wykorzystać cały dysk USB jako pojedynczy system plików. Inne konfiguracje będą wymagać modyfikacji instrukcji. Zastrzeżenie dotyczące odmian: nie znalazłem sposobu na użycie LVM w zaszyfrowanym kontenerze, który pozwoliłby nieuprzywilejowanemu kontu rozłączyć wszystko. (Nie widzę sposobu na dezaktywację grupy woluminów przez udisksctl
.)
Dla celów ilustracji powiemy, że dysk jest /dev/sda
. Będziesz potrzebować nazwy systemu plików, aby ułatwić późniejsze korzystanie z niego. Użyję „ example
”.
Podziel dysk na partycje
Uruchom sudo parted /dev/sda
i uruchom następujące polecenia:
mklabel gpt
mkpart example-part 1MiB -1s
quit
mkpart
Komenda będzie prawdopodobnie poprosi, aby dostosować nieco parametry. Powinieneś być w porządku, akceptując zalecane liczby.
Partycja będzie teraz dostępna za pośrednictwem /dev/disk/by-partlabel/example-part
.
Utwórz i zamontuj partycję LUKS
sudo cryptsetup luksFormat /dev/disk/by-partlabel/example-part
Przejdź przez monity.
sudo cryptsetup luksOpen /dev/disk/by-partlabel/example-part example-unlocked
Zaszyfrowane urządzenie jest teraz dostępne pod adresem /dev/mapper/example-unlocked
. To nie będzie trwałe; to tylko proces instalacji.
Utwórz swój system plików
Załóżmy, że używany system plików to XFS. Prawie każdy inny tradycyjny system plików będzie działał w ten sam sposób. Ważne jest, aby dodać etykietę, do której można będzie się później odwoływać:
sudo mkfs -t xfs -L example /dev/mapper/example-unlocked
Do urządzenia blokującego system plików można teraz uzyskać dostęp za pośrednictwem /dev/disk/by-label/example
.
Ustaw uprawnienia systemu plików
Domyślnie system plików będzie dostępny tylko przez root. W większości przypadków prawdopodobnie chcesz, aby pliki były dostępne dla twojego konta użytkownika. Zakładając, że nazwa Twojego konta to „ user
”:
udisksctl mount -b /dev/disk/by-label/example
sudo chown user:user /media/user/example
Zamknij wszystko w dół
udisksctl unmount -b /dev/disks/by-label/example
sudo cryptsetup luksClose example-unlocked
Użyj swojego systemu plików
To będziesz robić regularnie. Po podłączeniu dysku USB
udisksctl unlock -b /dev/disks/by-partlabel/example-part
udisksctl mount -b /dev/disks/by-label/example
Jeśli twoje konto użytkownika to „ user
”, system plików zostanie teraz zamontowany na /media/user/example
.
Aby odmontować system plików:
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
Teraz możesz odłączyć dysk USB.
udisks
(lubudisks2
). Zbadanie opcji za pomocą narzędzia CLI może dostarczyć dalszych odpowiedzi.