Когда в nautilus
или caja
я нажимаю на значок зашифрованного диска и ввожу свой пароль, базовое блочное устройство сопоставляется /dev/mapper/luks-$UUID
и монтируется /media/$USER/$DISK
, пароль root не требуется. Есть ли способ вызвать этот процесс из командной строки, без графического интерфейса, включая устранение sudo и возможность монтировать точку монтирования снова из графического интерфейса.
11
udisks
(илиudisks2
). Изучение вариантов из утилиты CLI может дать дополнительные ответы.Ответы:
Я не знаю одного способа сделать это. Программы с графическим интерфейсом делают достаточный запрос на диске, чтобы выбрать «правильный» подход, и вам придется выполнить часть этой работы самостоятельно. Тем не менее, вам не нужен sudo, и я думаю, что последовательность событий относительно безболезненна.
Краткий ответ
Используйте
udisksctl
изudisks2
пакета:Ваша учетная запись пользователя должна быть надлежащим образом авторизована для того, чтобы вышеуказанное работало. В Debian и Ubuntu это означает добавление вашей учетной записи в
plugdev
группу.Когда вы закончите с диском:
Как настроить вещи
Вот как вы можете настроить вещи (через командную строку), чтобы сделать процесс использования диска максимально безболезненным. Я предполагаю, что вы хотите использовать весь USB-накопитель в качестве единой файловой системы. Другие конфигурации потребуют изменений в инструкциях. Предостережение об изменениях: я не нашел способа использовать LVM в зашифрованном контейнере, который позволял бы непривилегированной учетной записи отключать все. (Я не вижу способа деактивировать группу томов с помощью
udisksctl
.)В целях иллюстрации скажем, что диск есть
/dev/sda
. Вам понадобится имя для файловой системы, чтобы было легче ссылаться позже. Я буду использовать "example
".Разметить диск
Запустите
sudo parted /dev/sda
и выполните следующие команды:Команда
mkpart
, вероятно, предложит вам немного изменить параметры. Вы должны быть в порядке, принимая его рекомендуемые номера.Раздел теперь будет доступен через
/dev/disk/by-partlabel/example-part
.Создать и смонтировать раздел LUKS
Пройдите через подсказки.
Зашифрованное устройство теперь доступно по адресу
/dev/mapper/example-unlocked
. Это не будет постоянной вещью; это просто для процесса установки.Создайте свою файловую систему
Давайте предположим, что используемая вами файловая система - XFS. Практически любая другая традиционная файловая система будет работать так же. Важно добавить метку, на которую вы сможете ссылаться позже:
Теперь к блочному устройству файловой системы можно получить доступ через
/dev/disk/by-label/example
.Установить разрешения файловой системы
По умолчанию файловая система будет доступна только пользователю root. В большинстве случаев вы, вероятно, хотите, чтобы файлы были доступны вашей учетной записи пользователя. Предполагая, что имя вашей учетной записи "
user
":Закройте все вниз
Используйте вашу файловую систему
Это то, что вы будете делать регулярно. После подключения USB-накопителя
Если ваша учетная запись пользователя "
user
", файловая система теперь будет смонтирована в/media/user/example
.Чтобы размонтировать файловую систему:
Теперь вы можете отключить USB-накопитель.
источник
Ответ на asciiphil мне кажется правильным, и должны быть помечены как таковые.
Начинается: «Я не знаю, как это сделать одной командой». Я тоже нет, и открыл соответствующий запрос функции . В качестве обходного пути можно создать скрипт-обертку, чтобы обеспечить способ разблокировки и монтирования раздела с помощью одной команды.
Предполагая, что вы используете Bash, сохраните приведенный ниже скрипт, например
unlock-and-mount
, сделав его исполняемым, и поместите его в директорию вашего каталогаPATH
. После этого вы сможете разблокировать и смонтировать устройство за один шагunlock-and-mount /dev/disk/by-id/my-device-part-X
.Предупреждение: это зависит от анализа сообщений,
udisksctl
отправляемых на стандартный вывод, и от стабильностиudisksctl
интерфейса командной строки. Это хрупкая, согласноudisksctl
man-странице , которая гласит:А пока вот скрипт, который работает сейчас:
источник
Это будет использовать ключ, хранящийся в Nautilus / Nemo:
gio mount -d /dev/dm-x
Подробности смотрите в этом ответе .
источник