Я не знаю, як це зробити з однією командою. Програми графічного інтерфейсу доволі допитуються на диску, щоб скористатися «правильним» підходом, і вам доведеться виконати частину цієї роботи самостійно. Тобі не потрібно судо, і я думаю, що послідовність подій відносно безболісна.
Короткий відповідь
Використання udisksctl
з udisks2
пакета:
udisksctl unlock -b /path/to/disk/partition
udisksctl mount -b /path/to/unlocked/device
Для роботи вищевказаного облікового запису потрібно буде відповідним чином авторизуватися. У Debian та Ubuntu це означає додавання вашого облікового запису до plugdev
групи.
Коли ви закінчите з диском:
udisksctl unmount -b /path/to/unlocked/device
udisksctl lock -b /path/to/disk/partition
udisksctl power-off -b /path/to/disk/or/partition
Як налаштувати речі
Ось як можна налаштувати речі (за допомогою командного рядка), щоб зробити процес використання диска максимально безболісним. Я припускаю, що ви хочете використовувати всю USB-накопичувач як єдину файлову систему. Інші конфігурації потребують модифікацій інструкцій. Застереження щодо варіацій: Я не знайшов способу використання LVM у зашифрованому контейнері, який дозволить непривілейованому обліковому запису відключити все. (Я не бачу способу відключити групу томів через udisksctl
.)
Для ілюстрації, ми скажемо, що диск є /dev/sda
. Вам знадобиться ім'я файлової системи, щоб полегшити посилання пізніше. Я буду використовувати " example
".
Розділіть диск
Виконайте sudo parted /dev/sda
та запустіть такі команди:
mklabel gpt
mkpart example-part 1MiB -1s
quit
mkpart
Команда, ймовірно , запропонує вам трохи змінити параметри. Вам слід добре приймати рекомендовані номери.
Розділ тепер буде доступний через /dev/disk/by-partlabel/example-part
.
Створіть і змонтуйте розділ LUKS
sudo cryptsetup luksFormat /dev/disk/by-partlabel/example-part
Пройдіть підказки.
sudo cryptsetup luksOpen /dev/disk/by-partlabel/example-part example-unlocked
Зашифрований пристрій тепер доступний за адресою /dev/mapper/example-unlocked
. Це не буде постійною справою; це лише для процесу налаштування.
Створіть свою файлову систему
Припустимо, що файлова система, яку ви використовуєте, - це XFS. Практично будь-яка інша традиційна файлова система працюватиме так само. Важливо - додати мітку, на яку можна посилатися пізніше:
sudo mkfs -t xfs -L example /dev/mapper/example-unlocked
Тепер до блокового пристрою файлової системи можна отримати доступ через /dev/disk/by-label/example
.
Встановити дозволи Filesystem
За замовчуванням до файлової системи буде доступний лише root. У більшості випадків ви, мабуть, хочете, щоб файли були доступні вашим обліковим записом користувача. Припустимо, що ім'я вашого облікового запису " user
":
udisksctl mount -b /dev/disk/by-label/example
sudo chown user:user /media/user/example
Закрийте все вниз
udisksctl unmount -b /dev/disks/by-label/example
sudo cryptsetup luksClose example-unlocked
Використовуйте вашу файлову систему
Це те, що ви будете робити регулярно. Після підключення USB-накопичувача,
udisksctl unlock -b /dev/disks/by-partlabel/example-part
udisksctl mount -b /dev/disks/by-label/example
Якщо ваш обліковий запис користувача " user
", файлова система тепер буде встановлена на /media/user/example
.
Щоб відключити файлову систему:
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
Тепер ви можете відключити USB-накопичувач.
udisks
(абоudisks2
). Дослідження варіантів з його утиліти CLI може дати подальші відповіді.