Saya membuat wadah terenkripsi via
#!/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
yaitu file misalnya yang container
ditentukan untuk skrip ini akan berisi sistem file ext3 yang dienkripsi melalui cryptsetup luksFormat
.
Untuk memasangnya, saat ini saya menggunakan skrip lain, katakan 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
)
dan melepasnya 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
Ada banyak redundansi dan secara manual meraih perangkat loop dan mapper yang keduanya bisa tetap anonim. Apakah ada cara untuk melakukan sesuatu seperti mount -o luks ~/container /mnt/decrypted
(meminta frasa sandi) dan umount /mnt/decrypted
cara mudah sebagai gantinya?
sunting Pada dasarnya saya senang dengan skrip saya di atas (walaupun pemeriksaan kesalahan dapat diperbaiki ...), jadi
Bagaimana opsi mount
-o luks=~/container
diimplementasikan mirip dengan-o loop ~/loopfile
menggunakan skrip yang saya tulis?
Bisakah ini dicapai tanpa menulis ulang mount
? Atau sebagai alternatif, dapat -t luks -o loop ~/container
diimplementasikan?
sumber
mount
Jawaban:
Bahkan, memodifikasi
mount
adalah mungkin, seperti yang saya pelajari dari keberadaanmount.ntfs-3g
. Saya hanya melakukan dugaan, tetapi saya mendugamount -t sometype
hasil dalam panggilan untukmount.sometype $DEV $MOUNTPOINT $OPTIONS
, merasa bebas untuk memperbaiki saya di sini atau mengutip beberapa dokumentasi yang sebenarnya. Terutama opsi-o loop
sudah diperlakukan sehingga tidak perlulopsetup
lagi ...Symlink / buat skrip mount sebagai
/sbin/mount.crypto_LUKS
. Hapus bagian loopdevice dan alih-alih gunakan saja-o loop
sakelar. Ini milik saya/sbin/mount.crypto_LUKS
:Sekarang saya hanya perlu menjalankan
mount -o loop ~/container /mnt/decrypted
, danmount
akan meminta saya untuk kata sandi dan kemudian me-mount wadah, secara otomatis melepaskan perangkat loop setelah wadah ditutup. Jika sistem file yang didekripsi gagal dipasang, wadah akan ditutup lagi, tetapi Anda dapat memodifikasinya. Atau mengimplementasikan beberapa opsi penguraian alih-alih meneruskan semuanyamount
.Saya berharap hal yang sama dapat dicapai melalui
/sbin/umount.luks
, tetapiumount /mnt/decrypted
(bahkan dengan-t crypto_LUKS
) masih hanya melakukan unmount biasa, meninggalkan wadah terbuka. Jika Anda menemukan cara untukumount
memanggildm.umount
skrip saya , tolong beri tahu saya ... Saat ini, panggilan langsungumount
tidak disarankan karena Anda harus mencari tahu/dev/mapper
namanya secara manualcryptsetup luksClose $MAPPER
. Setidaknya perangkat loop akan dirilis secara otomatis jikamount -o loop
digunakan sebelum ...sumber
umount
, saya kira saya harus memodifikasi/etc/mtab
entri sayamount.luks
sehingga jenis sistem file misalnyaluks.ext3
bukanext3
.pam_mount, tersedia dari sourceforge , dikirimkan dengan mount.crypto_LUKS dan umount.crypto_LUKS yang membantu mengatasi beberapa kekurangan skrip yang disediakan oleh poster lain.
sumber