Как смонтировать cryptsetup контейнер только с 'монтированием'?

Сценарий оболочки наследовал переменные среды программы вызова и такой, но он не наследовал вещи как псевдонимы и история команд.

Если все Ваши псевдонимы находятся в общем месте, как ~/.bashrc, Вы могли получить тот файл в свой сценарий сначала:

. $HOME/.bashrc

Затем Вы имели бы, в контексте выполнения того сценария оболочки, всех псевдонимах определенный в .bashrc файл.

Если Ваши псевдонимы определяются повсеместно, нет никакого простого способа консолидировать их. Необходимо было бы записать этот, "сохраняют все мои псевдонимы" как функцию вместо этого. Вы могли вставить что-то вроде этого Ваш ~/.bash_profile, например:

function dumpalias {
    alias -p | sed 's/alias -=/alias -- -=/' > ~/.bash_aliases
}

Затем после того, чтобы выходить из системы и въезжают задним ходом, можно сказать dumpalias для получения поведения, Вы хотите.

9
19.10.2012, 16:43
2 ответа

На самом деле, изменение mount возможно, как я узнал из существования mount.ntfs-3g. Я делаю только догадки, но я подозреваю mount -t sometype результаты в вызове к mount.sometype $DEV $MOUNTPOINT $OPTIONS, не стесняйтесь исправлять меня здесь или заключать некоторую фактическую документацию в кавычки. Особенно опция -o loop уже рассматривается, таким образом, нет никакой потребности в lopsetup больше...

Символьная ссылка/создавать сценарий монтирования как /sbin/mount.crypto_LUKS. Удалите loopdevice часть и вместо этого просто используйте -o loop переключатель. Вот мой /sbin/mount.crypto_LUKS:

#!/bin/bash
set -e
if [[ $(mount | grep ${2%%/} | wc -l) -gt 0 ]]; then
  echo "Path $2 is already mounted!" >&2
  exit 9
else
  MAPPER=$(mktemp -up /dev/mapper)
  cryptsetup luksOpen $1 $(basename $MAPPER)
  shift
  mount $MAPPER $* || cryptsetup luksClose $(basename $MAPPER)
fi

Теперь я просто должен работать mount -o loop ~/container /mnt/decrypted, и mount предложит мне пароль и затем смонтирует контейнер, автоматически выпуская loopdevice, после того как контейнер закрывается. Если дешифрованная файловая система не смонтируется, то контейнер будет закрыт снова, но можно изменить это, конечно. Или реализуйте некоторый парсинг опции вместо того, чтобы передать все на mount.

Я надеялся, что то же могло быть достигнуто через /sbin/umount.luks, но umount /mnt/decrypted (даже с -t crypto_LUKS) все еще только делает обычное размонтирование, оставляя контейнер открытым. Если Вы находите способ иметь umount назовите мой dm.umount сценарий вместо этого, сообщите мне... В данный момент, непосредственно вызов umount препятствуется, так как необходимо будет выяснить /dev/mapper назовите к вручную cryptsetup luksClose $MAPPER. По крайней мере, циклическое устройство будет выпуском автоматически если mount -o loop использовался прежде...

6
27.01.2020, 20:07

pam_mount, доступный из SourceForge, поставлется с полезным монтированием crypto_LUKS и umount.crypto_LUKS, которые преодолевают некоторые недостатки сценария, предоставленного другим плакатом.

3
27.01.2020, 20:07

Теги

Похожие вопросы