Bir kripto kurulum kabını sadece `` mount '' ile nasıl monte edebilirim?


9

Üzerinden şifreli bir kapsayıcı oluşturdum

#!/bin/bash
dd if=/dev/zero of=$1 bs=1 count=0 seek=$2
MAPPER=$(mktemp -up /dev/mapper)
LOOPDEV=$(losetup --find --show $1)
cryptsetup luksFormat $LOOPDEV
cryptsetup luksOpen $LOOPDEV $(basename $MAPPER)
mkfs.ext3 $MAPPER
cryptsetup luksClose $MAPPER
losetup -d $LOOPDEV

yani containerbu komut dosyasında belirtilen bir dosya , üzerinden şifrelenmiş bir ext3 dosya sistemi içerir cryptsetup luksFormat.

Takmak için şu anda başka bir komut dosyası kullanıyorum dm.mount container /mnt/decrypted:

#!/bin/bash
set -e
MAPPER=$(mktemp -up /dev/mapper)
LOOPDEV=$(losetup --find --show $1)
cryptsetup luksOpen $LOOPDEV $(basename $MAPPER) || losetup -d $LOOPDEV
mount $MAPPER $2 || (
  cryptsetup luksClose $MAPPER
  losetup -d $LOOPDEV
)

ve bağlantısını kesmek için dm.umount /mnt/decrypted:

#!/bin/bash
set -e
MAPPER=$(basename $(mount | grep $1 | gawk ' { print $1 } '))
LOOPDEV=$(cryptsetup status $MAPPER | grep device | gawk ' { print $2 } ')
umount $1
cryptsetup luksClose $MAPPER
losetup -d $LOOPDEV

Her ikisi de anonim kalabilen çok fazla yedeklilik ve manuel olarak bir döngü cihazı ve eşleyici tutuyor. Bunun yerine mount -o luks ~/container /mnt/decrypted(parolayı sormak gibi) ve umount /mnt/decryptedkolay yoldan bir şey yapmanın bir yolu var mı ?


düzenlemek Temelde yukarıdaki benim komut dosyaları ile mutluyum (hata kontrolü geliştirilebilir olmasına rağmen ...), yani

Yazdığım komut dosyalarını kullanmaya -o luks=~/containerbenzer bir bağlama seçeneği nasıl uygulanabilir -o loop ~/loopfile?

Yeniden yazmadan bu yapılabilir mountmi? Veya alternatif -t luks -o loop ~/containerolarak uygulanabilir mi?


Cryptmount'u denedin mi?
jw013

@ jw013 Yapmadım ve işleri biraz sadeleştirmiş olabilir, ama aynı zamanda doğrudan kullanarak da desteklemiyormount
Tobias Kienzler

Yanıtlar:


6

Aslında, mountvarlığından öğrendiğim gibi değiştirmek mümkündür mount.ntfs-3g. Ben sadece tahmin yapıyorum, ama mount -t sometypebir çağrı sonuçlarından şüpheleniyorum mount.sometype $DEV $MOUNTPOINT $OPTIONS, beni burada düzeltmek için çekinmeyin veya bazı gerçek belgeleri alıntı. Özellikle seçenek -o loopzaten tedavi edildi, bu yüzden lopsetupartık gerek yok ...

Bağlama komut dosyasını Symlink / oluştur /sbin/mount.crypto_LUKS. Döngü cihazı parçasını çıkarın ve bunun yerine -o loopanahtarı kullanın . İşte benim /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

Şimdi sadece koşmak zorunda mount -o loop ~/container /mnt/decryptedve mountkonteyner kapatıldıktan sonra otomatik olarak loopdevice bırakmadan, konteyner şifre beni uyarır ve daha sonra monte edecek. Şifresi çözülmüş dosya sistemi yüklenemezse, kapsayıcı tekrar kapatılır, ancak elbette bunu değiştirebilirsiniz. Veya her şeyi yerine geçirmek yerine bazı seçenek ayrıştırma uygulayın mount.

Ben de aynı şekilde elde edilebileceğini umuyordum /sbin/umount.luks, ama umount /mnt/decrypted(hatta -t crypto_LUKS) hala konteyneri açık bırakarak her zamanki sökmeyi yapıyor. Sahip bir yolunu bulursanız umountbenim çağrı dm.umountyerine komut doğrudan görüşmesi özelliğini, beni bir anda ... bildirin lütfen umountdışarı şekle sahip olacak beri önerilmez /dev/mapperelle için isim cryptsetup luksClose $MAPPER. En azından döngü cihazı daha mount -o loopönce kullanılmışsa otomatik olarak serbest bırakılacaktır ...


İle ilgili olarak umount, sanırım dosya sistemi türü örneğin yerine benim girişini değiştirmek/etc/mtabmount.luks zorunda kalacağım . luks.ext3ext3
Tobias Kienzler

3

sourceforge'dan edinilebilen pam_mount, diğer poster tarafından sağlanan komut dosyasının bazı eksikliklerinin üstesinden gelen faydalı bir mount.crypto_LUKS ve umount.crypto_LUKS ile birlikte gönderilir.

Sitemizi kullandığınızda şunları okuyup anladığınızı kabul etmiş olursunuz: Çerez Politikası ve Gizlilik Politikası.
Licensed under cc by-sa 3.0 with attribution required.