ways Skrevet 18. mai 2005 Skrevet 18. mai 2005 (endret) har laget en fil med eget kryptert filsystem i (eksperimentering. vurderer å kryptere hele home), men det roter seg til ved avmontering. bash-skriptet mitt monterer slik (har klippet bort inputsjekk ol.) echo "mounting encrypted file" losetup $availableloop $secretfile if [ "$?" -ne 0 ]; then echo "losetup error.." exit 1 fi cryptsetup create secret $availableloop if [ "$?" -ne 0 ]; then echo "cryptsetup error.." exit 1 fi sleep 2 mount /dev/mapper/secret $secretmount if [ "$?" -ne 0 ]; then echo "mount error.." exit 1 fi og avmonterer echo "unmounting encrypted file" umount $secretmount if [ "$?" -ne 0 ]; then echo "umount error.. trying sloppy umount" umount $secretmount -l if [ "$?" -ne 0 ]; then echo "umount error.. " exit 1 fi fi cryptsetup remove secret if [ "$?" -ne 0 ]; then echo "cryptsetup error.. " exit 1 fi problemet er at etter å ha brukt innholdet (tilogmed om jeg bare leser fra det), så vil det ikke avmonteres. feiler på umount $secretmount og med lazy umount ( -l ), så feiler neste kommando med 'device is busy'. ubuntu warty hadde dette problemet med all avmontering, men i hoary (som jeg bruker) er dette fixet. uten om i dette tilfellet da. noen gode forslag? hva var kommandoen for å se hva som bruker en fil igjen? edit: root@aotearoa:~ # dmsetup info secret Name: secret State: ACTIVE Tables present: LIVE Open count: 1 Event number: 0 Major, minor: 254, 3 Number of targets: 1 Endret 18. mai 2005 av ways
zyp Skrevet 18. mai 2005 Skrevet 18. mai 2005 fuser -km $secretmount Den vil drepe alle prosesser som bruker filsystemet $secretmount.
kyrsjo Skrevet 18. mai 2005 Skrevet 18. mai 2005 et tips kan være å kjøre lsof | grep secretmount for å finne hvilke programmer som nekter å slippe tak...
franksun Skrevet 18. mai 2005 Skrevet 18. mai 2005 ways kan du komme med en manual på hvordan du gjorde det?
ways Skrevet 19. mai 2005 Forfatter Skrevet 19. mai 2005 (endret) ways kan du komme med en manual på hvordan du gjorde det? hehe. klart det. les på linken zyp ga, eller på wikien til dm-crypt. tror jeg fulgte en howto i wikien. jeg har laget 3 bashscript for å gjøre dette veldig mye lettere. de er relativt nye, og uten mye feilsjekking (siden det bare er jeg som skal bruke dem). anbefaler at du ser nøye gjennom koden før du prøver. de krever at du har laget mappen /mnt/secret, har pakken cryptsetup eller noe (sjekk wiki) og lastet modulene som er listet opp i det første skriptet.. og bør vel advare om at om montering feiler (i cryptsetup) pga feil passord, og du prøver å avmontere, så klikker noe. vet ikke helt hva enda. kommer masse hex-tall i terminalen og låser maskinen =). så ikke kjør avmontering om montering feilet. jobber med å rette feilen.. edit: feilen er fixet. nå funker ting som det skal takk for fuser, zyp have paranoid fun! opprette kryptert fil: #!/bin/bash ##creating crypted file (modules: dm_crypt dm_mod loop): if [ $USER != "root" ]; then echo "you are $USER, not root.." exit 1 fi #user competece check if [ -z "$1" ]; then echo "use me like this: " echo "$0 newfilename size(MB)" exit 0 fi if [ -z "$2" ]; then echo "use me like this: " echo "$0 newfilename size(MB)" exit 0 fi ##vars secretfile=$1 filesize=$2 if [ "`echo $availableloop`" == "" ]; then availableloop=`losetup -f` fi echo "creating crypted file $secretfile (size $filesize)" echo "on $availableloop" ## creating file using random input (more secure) dd if=/dev/urandom of=$secretfile bs=1M count=$filesize if [ "$?" -ne 0 ]; then echo "dd error.." exit 1 fi ## setting up loop losetup $availableloop $secretfile if [ "$?" -ne 0 ]; then echo "losetup error.." exit 1 fi ## crypting cryptsetup -c aes -y create $secretfile $availableloop if [ "$?" -ne 0 ]; then echo "cryptsetup error.." exit 1 fi ## formating mke2fs -j /dev/mapper/$secretfile if [ "$?" -ne 0 ]; then echo "mke2fs error.." exit 1 fi echo "ok. now mount it." exit 0 montere fil: #!/bin/bash ## cryptmnt.sh | mounts an encrypted file ## ## if to be used in /etc/fstab: ## /dev/mapper/secret /mnt/secret ext3 noauto,noatime 0 0 if [ $USER != "root" ]; then echo "you are $USER, not root.." exit 1 fi #user competece check if [ -z "$1" ]; then echo "no input, so i'm mounting the standard" echo "[alternative use: $0 filename]" secretfile="/home/lars/.secret" fi ##vars secretmount="/mnt/secret" if [ -z "$secretfile" ]; then secretfile="$1" fi if [ "`echo $availableloop`" == "" ]; then availableloop=`losetup -f` fi echo "setting up loop" losetup $availableloop $secretfile if [ "$?" -ne 0 ]; then echo "losetup error.." exit 1 fi echo "creating crypt device" cryptsetup create secret $availableloop if [ "$?" -ne 0 ]; then echo "cryptsetup error.." exit 1 fi echo "mounting encrypted file" mount /dev/mapper/secret $secretmount if [ "$?" -ne 0 ]; then echo "mount error.. exiting cleanly" cryptsetup remove secret if [ "$?" -ne 0 ]; then echo "WARNING: failed clean exit" fi exit 1 fi echo "mounting encrypted file...done" avmotere fil: #!/bin/bash ##see cryptmnt.sh for more info if [ $USER != "root" ]; then echo "you are $USER, not root.." exit 1 fi #user competece check if [ -z "$1" ]; then echo "umounting the standard" # echo "[alternative use: $0 mountpoint]" secretmount=/mnt/secret fi ##vars #if [ -z "$secretmount" ]; then # secretmount="$HOME/$1" #fi echo "processes using the file:" #fuser $secretmount #read > /dev/null fuser -ikmv $secretmount echo "unmounting encrypted file" umount $secretmount if [ "$?" -ne 0 ]; then echo "umount error.. who's using the file?" fuser $secretmount # # umount $secretmount -l # if [ "$?" -ne 0 ]; then echo "umount error.. " exit 1 # fi fi cryptsetup remove secret if [ "$?" -ne 0 ]; then echo "cryptsetup error.. " exit 1 fi jeg tar selvfølgelig ikke noe ansvar blablabla.. Endret 19. mai 2005 av ways
Anbefalte innlegg
Opprett en konto eller logg inn for å kommentere
Du må være et medlem for å kunne skrive en kommentar
Opprett konto
Det er enkelt å melde seg inn for å starte en ny konto!
Start en kontoLogg inn
Har du allerede en konto? Logg inn her.
Logg inn nå