Advertisement
Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- #!/bin/bash
- function alert() {
- test -n "$DISPLAY" -a -x /usr/X11/bin/kaptain && {
- echo "$1" | /usr/X11/bin/kaptain /root/bin/kde-alert
- } || {
- echo "$1"
- }
- }
- test -z "$1" && {
- alert "Use: $0 DEVICE [MOUNT_POINT]"
- exit 1
- }
- modprobe dm-mod || {
- alert "Can't load dm-mod kernel module"
- exit 1
- }
- test -b "$1" && {
- dev="$1"
- } || {
- test -b "/dev/$1" && {
- dev="/dev/$1"
- } || {
- alert "Device must set"
- exit 1
- }
- }
- test -d "$2" || {
- alert "$2 not directory, but crypt device create"
- # exit 1
- }
- function this_hash64() {
- test -n "$1" && {
- data="$1"
- true
- } || {
- test -n "$DISPLAY" -a -x /usr/X11R6/bin/kaptain && {
- data=`/usr/X11R6/bin/kaptain /root/bin/kde-pwd-ask`
- true
- } || {
- data=`cat`
- true
- }
- }
- p1=`echo $data | sha1sum | cut -b 1-34`
- p2=`echo $data | md5sum | cut -b 1-30`
- echo -ne $p1$p2
- }
- scrt="crypt-"`echo $dev | awk 'BEGIN{FS="/"} END{print $NF}'`
- dmsetup ls | grep "$scrt" && {
- alert "$scrt exist"
- # exit 1
- } || {
- pswd=`this_hash64`
- blks=`blockdev --getsize $dev`
- # echo $blks `cat /sys/block/$(basename $dev)/size`
- echo "0 $blks crypt aes $pswd 0 $dev 0" | dmsetup create "$scrt"
- blkid dev "$scrt"
- }
- # `blkid -s LABEL "$scrt" | sed 's/.*: \(LABEL=".*\)"/\1/'`
- test -n "$2" && {
- mount "/dev/mapper/$scrt" "$2"
- }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement