前几天写的脚本有一点小问题,比如说不能对有空格的目录进行操作。本来想解决这个问题的,但还是没能解决含有空格目录名的问题,不过有几个小bug还是找到了。新的脚本不再使用nautilus脚本控制中提供的环境变量,灵活性更大。如下:
#!/bin/sh
#########################################
#挂载当前ecryptfs目录,可多个目录同时挂载    不支持包含空格的目录名#
#####################fpoint于2009年11月12日#########################
#########################################
for ecryptfsDir
do
if [ -d “$ecryptfsDir” ];    then
CheckPassword=`zenity  –entry –text=”请输入目录‘$ecryptfsDir’的挂载密码” –title=”密码输入框”  –hide-text`
if [ -z “$CheckPassword” ] ; then
exit
fi
###########################################
#        提取出ecryptfs_sig与ecryptfs_fnek_sig的值,默认值相同            #
###########################################
response=`printf “%s” $CheckPassword | ecryptfs-add-passphrase  -`
sig=`echo “$response” | grep “Inserted auth tok” | sed “s/^.*[//” | sed “s/].*$//”`
###########################################
gksu -u root -D exryptfs挂载脚本 “mount -t ecryptfs $PWD/$ecryptfsDir $PWD/$ecryptfsDir -o key=passphrase:passphrase_passwd=$CheckPassword,ecryptfs_sig=$sig,

ecryptfs_fnek_sig=$sig,ecryptfs_cipher=aes,ecryptfs_key_bytes=16,

ecryptfs_passthrough=n,no_sig_cache”
else
zenity –info –text=”‘$ecryptfsDir’不是一个目录,不能被挂载!”
fi
done

#!/bin/sh
#卸载当前ecryptfs目录,可多个目录同时卸载    不支持包含空格的目录名
#fpoint于2009年11月12日
for ecryptfsDir
do
if [ -d “$ecryptfsDir” ];    then
gksu -u root -D ecryptfs卸载脚本 “umount $PWD/$ecryptfsDir”
else
zenity –info –text=”‘$ecryptfsDir’不是一个目录,不能被卸载!”
fi
done

转载请注明来自 五百年
本文地址:http://blog.lizhenyu.com/modify-ecryptfs-script/
分类: 代码