#!/bin/bash # script to close a LUKS encrypted container file (use open_container.sh to open) # -must be run with root privileges # -start it without any or with 3 arguments: ./open_container.sh /path/to/container mapper_filename /path/to/mount_point # written by Christian Ulrich (based on a script from http://wiki.ubuntuusers.de/LUKS/Containerdatei) # version: 0.2 # date: 2011/09/13 run=1 choice= if test $# -ne 0; then if test $# -ne 3; then echo "Aufruf des Skripts entweder ohne Argumante oder: ./close_container /Pfad/zum/Container mapper_filename /Pfad/zum/Mountpoint" exit 1 else SAFE=$1 CRYPTNAME=$2 MNT=$3 fi else SAFE=/home/christian/privat/encrypted CRYPTNAME=container MNT=/home/christian/mnt fi LOOPDEV=`losetup -a | grep "$SAFE" | sed "s/: .*//"` echo "close_container.sh v0.2 (by Christian Ulrich) ---------------------------------------------" while [ $run -ne 0 ]; do echo echo "Bitte wählen:" echo "-------------" echo "[1] Pfad zum Container ändern ($SAFE)" echo "[2] Dateiname in /dev/mapper/ ändern ($CRYPTNAME)" echo "[3] Mount-Pfad ändern ($MNT)" echo "---------------------------------------------------" echo "[c] Container schließen" echo "[q] Script beenden" read choice case $choice in 1 ) echo "Neuen Pfad eingeben oder um abzubrechen (aktueller Pfad: $SAFE):" SAFE_tmp= read SAFE_tmp if [[ -n "$SAFE_tmp" ]]; then #if only was pressed SAFE=$SAFE_tmp fi ;; 2 ) echo "Neuen Dateinamen eingeben oder um abzubrechen (aktueller Dateiname: $CRYPTNAME):" CRYPTNAME_tmp= read CRYPTNAME_tmp if [[ -n "$CRYPTNAME_tmp" ]]; then CRYPTNAME=$CRYPTNAME_tmp fi ;; 3 ) echo "Neuen Mount-Pfad eingeben oder um abzubrechen (aktueller Pfad: $MNT):" MNT_tmp= read MNT_tmp if [[ -n "$MNT_tmp" ]]; then MNT=$MNT_tmp fi ;; 'c' ) run=0 if [ "`losetup -a | grep -c "$SAFE"`" != "1" ]; then echo "nicht eingehängt" exit fi umount $MNT cryptsetup luksClose $CRYPTNAME losetup -d $LOOPDEV echo "Container geschlossen" ;; 'q' ) run=0;; * ) echo "Falsche Eingabe!";; esac done