kiltum (kiltum) wrote,
kiltum
kiltum

Суть в чем: у меня ноутбук. И есть на этом ноутбуке всякие любимые для меня файлы и прочие данные. Я всё-таки человек и могу куда-нить его забыть. А если я его забуду, у кого-нить будет полный физический доступ до диска. Конечно, 99% за то, что всё просто сотрут и поставят винду. Но 1% - это всё-таки один процент ... Значит, надо шифровать.Стандартные средства gentoo либо стары до безобразия (/etc/init.d/crypto-loop), либо нефункциональны для меня (cryptsetup).

Написал скриптик, что бы облегчить работу с шифрованием /home/multik (у меня там всё, включая мою почту). Требуется поставить sys-fs/cryptsetup. Задача скриптика: стартовать до postfix, спрашивать пароль до совпадения и потом цеплять /home/multik на место. Пока пароль не совпадет, система дальше не будет грузиться.

#!/sbin/runscript

#wich user must be secured
name_dev="multik" 

#on which loop device
loop_dev="/dev/loop0"

#where must be paced image
path_dev="/root/multik.img"

#image size in megabytes  
size_dev="100"

depend() {
    before postfix
}

opts="${opts} create"

start() {
    losetup $loop_dev $path_dev
    pass_val=0
    return_val=1
echo "**********************************************************************"
echo "* Unauthorized use of or access to this system is prohibited.        *"
echo "* Actual or attempted unauthorized use of or access to this computer *"
echo "* system may result in criminal and/or civil prosecution.            *"
echo "*                                                                    *"
echo "* If you found this notebook, call +7 095 766 71 48                  *"
echo "**********************************************************************"

    while [ "$return_val" -ne "$pass_val" ]
    do
        cryptsetup remove $name_dev 2&> /dev/null
        cryptsetup -c aes -s 256 create $name_dev $loop_dev
        mount /home/$name_dev
        return_val=$?
    done
    chown $name_dev:users /home/$name_dev 
    chmod 700 /home/$name_dev 

ebegin "Mounting /home/$name_dev"
eend $?
}

stop() {
ebegin "Unmounting /home/$name_dev"
    umount /home/$name_dev 2&> /dev/null
    cryptsetup remove $name_dev
    losetup -d $loop_dev
eend $?
}

create() {
if [ -f $path_dev ]
then
echo "File $path_dev exist!"
exit
fi
ebegin "Creating $path_dev with $size_dev Mb size"
dd if=/dev/zero of=$path_dev bs=1M count=$size_dev
losetup $loop_dev $path_dev
eend $?
echo "Enter password for new image"
cryptsetup -y -c aes -s 256 create $name_dev $loop_dev
ebegin "Creating ext3 filesystem"
mkfs.ext3 -m0 /dev/mapper/$name_dev
eend $?
echo "**** Dont forget to add in /etc/fstab string like ****"
echo "/dev/mapper/$name_dev /home/$name_dev ext3 noauth,nodev,nosuid 0 0"
}

Subscribe
  • Post a new comment

    Error

    default userpic

    Your IP address will be recorded 

    When you submit the form an invisible reCAPTCHA check will be performed.
    You must follow the Privacy Policy and Google Terms of use.
  • 5 comments