encfs,加密文件夹工具的加载脚本

仅仅用于软件推荐,不适合发求软件或软件使用问题方面的贴子
回复
头像
jarlyyn
帖子: 4671
注册时间: 2006-04-12 18:54
联系:

encfs,加密文件夹工具的加载脚本

#1

帖子 jarlyyn » 2007-05-04 0:18

花了一晚上,做出了一个好用的encfs加密脚本
使用他的话需要 安装encfs和zenity
sudo apt-get install encfs zenity
双击之后,如果你的用户不在fuse组,会提醒你加入
如果你第一次使用,会帮你建立加密文件夹
如果你没有加载加密文件夹,会让你输入密码加载
如果你已经加载了,会询问你是否卸载。

把内容复制到一个文本文件里,#! /bin/bash要在第一行,然后设置执行权限

这个除了可以存放你不希望被别人看到的资料
还可以把你的gaim,firefox.雷鸟,evolution等程序的密码文件放进去,成为一个自己的万能密码管理器



#! /bin/bash
#自动加载encfs文件卷的脚本
#依赖:encfs zenity
#加密后的文件储存在./encfsscript/data文件夹呢,如要备份,备份该文件夹即可
#挂在目标文件夹,由./encfsscript/config里的mountdir=来决定,默认为家目录下的“加密的文件目录”
#自动添加入fuse用户组,自动创建加密文件,自动判断是加载还是卸载
hash=$( md5sum $0 )

tmp=$( groups $USER | grep "fuse" )
if [ "#$tmp" == "#" ]
then
zenity --question --title "提醒:" --text "程序发现你的用户不在fuse组,这样加密的文件夹将无法加载。是否用管理员权限把你的用户加入fuse组?"
tmp=$?
if [ $tmp == 0 ]
then
gksu "usermod -G fuse -a $USER"
exit 1
else
exit 1
fi
fi
#判断用户是否在fuse组


if [ ! -d $HOME"/.encfsscript" ] && [ -e $HOME"/.encfsscript" ]
then
rm $HOME"/.encfsscript >/dev/null"
fi
#如果~/.encfsscript不是目录,删除之

if [ ! -e $HOME"/.encfsscript" ]
then
mkdir $HOME"/.encfsscript"
fi
#如果没有~/.encfsscript,建立此目录

if [ ! -d $HOME"/.encfsscript/data" ] && [ -e $HOME"/.encfsscript/data" ]
then
rm $HOME"/.encfsscript/data >/dev/null"
fi
#如果~/.encfsscript/data不是目录,删除之

if [ ! -e $HOME"/.encfsscript/data" ]
then
mkdir $HOME"/.encfsscript/data"
fi
#如果没有~/.encfsscript/data,建立此目录

if [ ! -e $HOME"/.encfsscript/data/.encfs5" ]
then
newdata=1
fi

if [ ! -e $HOME"/.encfsscript/config" ]
then
echo "mountdir="$HOME'/加密的文件' > $HOME'/.encfsscript/config'
echo 加密文件夹的挂载位置,必须是目录 >> $HOME'/.encfsscript/config'
fi
#如果没有默认的~/.encfsscript/config,建立之

for mountdir in $(sed -n "/^[^#]*mountdir=[^#]*/p" $HOME/.encfsscript/config|sed "s/^[^#]*mountdir=\([^#]*\)/\1/g")
do
true
#mountdir=$configdir
done
#读取config文件内容,最后一个mountdir
if [ $mountdir == "" ]
then
mountdir=加密的文件
fi

if [ ! -e $mountdir ]
then
#mountdir=~/加密的文件
mkdir $mountdir
fi
#如果目录不存在,则建立
tmp=""
tmp=$( cat /proc/mounts | grep "encfs $mountdir" )
if [ ! "\#$tmp" == "\#" ]
then
zenity --question --title "文件夹已加载" --text "加密文件夹已经加载到“$mountdir”,是否要弹出?"
tmp=$?
if [ $tmp == 0 ]
then
fusermount -u $mountdir
fi
exit
fi

if [ "1"$newdata == "11" ]
then
passwd=$(zenity --entry --title=建立新加密文件夹-$hash --text="新建加密文件夹,请输入密码:" --width=600)
else
passwd=$(zenity --entry --title=加载加密文件夹-$hash --text="请输入密码:" --hide-text --width=600)
fi

if [ "#"$passwd == "#" ]
then
exit 1
fi

modprobe fuse
if [ "1"$newdata == "11" ]
then
echo ok
echo $passwd | sed "s/\(.*\)/\n\1\n\1/g" | encfs -S $HOME"/.encfsscript/data" $mountdir -- -o nonempty
else
echo $passwd | encfs -S $HOME"/.encfsscript/data" $mountdir -- -o nonempty
tmp=$?
if [ $tmp == 1 ]
then
zenity --error --title=密码错误 --text=您输入的密码错了,或者你可能是刚安装的encfs或者fuse,fuse系统需要再重启后才能加载。
else
if [ ! $tmp == 0 ]
then
zenity --error --title=出现错误 --text=删除你用户目录下的.encfsscript目录和$mountdir可能能解决这个问题
fi
fi
fi
头像
stlxv
论坛版主
帖子: 8275
注册时间: 2006-05-03 0:39
来自: المريخ

Re: encfs,加密文件夹工具的加载脚本

#2

帖子 stlxv » 2007-05-04 0:23

jarlyyn 写了:花了一晚上,做出了一个好用的encfs加密脚本
使用他的话需要 安装encfs和zenity
sudo apt-get install encfs zenity
双击之后,如果你的用户不在fuse组,会提醒你加入
如果你第一次使用,会帮你建立加密文件夹
如果你没有加载加密文件夹,会让你输入密码加载
如果你已经加载了,会询问你是否卸载。

把内容复制到一个文本文件里,#! /bin/bash要在第一行,然后设置执行权限

这个除了可以存放你不希望被别人看到的资料
还可以把你的gaim,firefox.雷鸟,evolution等程序的密码文件放进去,成为一个自己的万能密码管理器


代码: 全选

#! /bin/bash
#自动加载encfs文件卷的脚本
#依赖:encfs zenity
#加密后的文件储存在./encfsscript/data文件夹呢,如要备份,备份该文件夹即可
#挂在目标文件夹,由./encfsscript/config里的mountdir=来决定,默认为家目录下的“加密的文件目录”
#自动添加入fuse用户组,自动创建加密文件,自动判断是加载还是卸载
hash=$( md5sum $0 )

tmp=$( groups $USER | grep "fuse" )
if [ "#$tmp" == "#" ]
then
zenity --question --title "提醒:" --text "程序发现你的用户不在fuse组,这样加密的文件夹将无法加载。是否用管理员权限把你的用户加入fuse组?"
tmp=$?
if [ $tmp == 0 ]
then
gksu "usermod -G fuse -a $USER"
exit 1
else
exit 1
fi
fi
#判断用户是否在fuse组


if [ ! -d $HOME"/.encfsscript" ] && [ -e $HOME"/.encfsscript" ]
then
rm $HOME"/.encfsscript >/dev/null"
fi
#如果~/.encfsscript不是目录,删除之

if [ ! -e $HOME"/.encfsscript" ]
then
mkdir $HOME"/.encfsscript"
fi
#如果没有~/.encfsscript,建立此目录

if [ ! -d $HOME"/.encfsscript/data" ] && [ -e $HOME"/.encfsscript/data" ]
then
rm $HOME"/.encfsscript/data >/dev/null"
fi
#如果~/.encfsscript/data不是目录,删除之

if [ ! -e $HOME"/.encfsscript/data" ]
then
mkdir $HOME"/.encfsscript/data"
fi
#如果没有~/.encfsscript/data,建立此目录

if [ ! -e $HOME"/.encfsscript/data/.encfs5" ]
then
newdata=1
fi

if [ ! -e $HOME"/.encfsscript/config" ]
then
echo "mountdir="$HOME'/加密的文件' > $HOME'/.encfsscript/config'
echo 加密文件夹的挂载位置,必须是目录 >> $HOME'/.encfsscript/config'
fi
#如果没有默认的~/.encfsscript/config,建立之

for mountdir in $(sed -n "/^[^#]*mountdir=[^#]*/p" $HOME/.encfsscript/config|sed "s/^[^#]*mountdir=\([^#]*\)/\1/g")
do
true
#mountdir=$configdir
done
#读取config文件内容,最后一个mountdir
if [ $mountdir == "" ]
then
mountdir=加密的文件
fi

if [ ! -e $mountdir ]
then
#mountdir=~/加密的文件
mkdir $mountdir
fi
#如果目录不存在,则建立
tmp=""
tmp=$( cat /proc/mounts | grep "encfs $mountdir" )
if [ ! "\#$tmp" == "\#" ]
then
zenity --question --title "文件夹已加载" --text "加密文件夹已经加载到“$mountdir”,是否要弹出?"
tmp=$?
if [ $tmp == 0 ]
then
fusermount -u $mountdir
fi
exit
fi

if [ "1"$newdata == "11" ]
then
passwd=$(zenity --entry --title=建立新加密文件夹-$hash --text="新建加密文件夹,请输入密码:" --width=600)
else
passwd=$(zenity --entry --title=加载加密文件夹-$hash --text="请输入密码:" --hide-text --width=600)
fi

if [ "#"$passwd == "#" ]
then
exit 1
fi

modprobe fuse
if [ "1"$newdata == "11" ]
then
echo ok
echo $passwd | sed "s/\(.*\)/\n\1\n\1/g" | encfs -S $HOME"/.encfsscript/data" $mountdir -- -o nonempty
else
echo $passwd | encfs -S $HOME"/.encfsscript/data" $mountdir -- -o nonempty
tmp=$?
if [ $tmp == 1 ]
then
zenity --error --title=密码错误 --text=您输入的密码错了,或者你可能是刚安装的encfs或者fuse,fuse系统需要再重启后才能加载。
else
if [ ! $tmp == 0 ]
then
zenity --error --title=出现错误 --text=删除你用户目录下的.encfsscript目录和$mountdir可能能解决这个问题
fi
fi
fi
建议,用\[code\]加上
PHP是最好的语言!不服来战!
头像
jarlyyn
帖子: 4671
注册时间: 2006-04-12 18:54
联系:

#3

帖子 jarlyyn » 2007-05-04 0:25

我禁用uub代码和表情符号了
头像
stlxv
论坛版主
帖子: 8275
注册时间: 2006-05-03 0:39
来自: المريخ

#4

帖子 stlxv » 2007-05-04 0:32

帮你排了下版,加了执行权限,做成压缩包,然后再取名jarl_encfs

不过我没执行过 :lol: :lol:
附件
jarl_encfs.tar.bz2
(1.5 KiB) 已下载 110 次
PHP是最好的语言!不服来战!
头像
stlxv
论坛版主
帖子: 8275
注册时间: 2006-05-03 0:39
来自: المريخ

#5

帖子 stlxv » 2007-05-04 0:33

jarlyyn 写了:我禁用uub代码和表情符号了
\[code\]还有一个功能,就是看起来好看点,让人家知道开头和结尾

P.S. 喜欢你那种看不到一个分号的风格
PHP是最好的语言!不服来战!
头像
pnp123
帖子: 172
注册时间: 2008-08-25 5:48

Re: encfs,加密文件夹工具的加载脚本

#6

帖子 pnp123 » 2009-03-06 18:01

mark
头像
sunningv
帖子: 1818
注册时间: 2006-12-17 13:34
来自: 武汉

Re: encfs,加密文件夹工具的加载脚本

#7

帖子 sunningv » 2009-03-12 13:16

nnnnnnnnd
众里寻他千百度,蓦然回首,我要的东西却在坛子住。
。。。。。。。。。。。。。。。。。。。。。。。。。
好东西啊 试了一下 。。太方便了。。。太傻瓜了 。。正适合我用。。。 :em11 :em11
人生长恨水长东;
远近高低各不同.
头像
lerosua
论坛版主
帖子: 8455
注册时间: 2007-11-29 9:41
联系:

Re: encfs,加密文件夹工具的加载脚本

#8

帖子 lerosua » 2009-03-12 13:26

加密文件夹, :em06
头像
sunningv
帖子: 1818
注册时间: 2006-12-17 13:34
来自: 武汉

Re: encfs,加密文件夹工具的加载脚本

#9

帖子 sunningv » 2009-03-14 15:14

顶一下 避免有用的兄弟找不到 :em05
人生长恨水长东;
远近高低各不同.
回复