首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >启动启动eCryptfs加密的脚本

启动启动eCryptfs加密的脚本
EN

Stack Overflow用户
提问于 2014-08-07 16:54:41
回答 1查看 1.5K关注 0票数 0

我使用eCryptfs通过以下方式挂载和加密特定目录:

代码语言:javascript
复制
mount -t ecryptfs /secure /secure -o ecryptfs_unlink_sigs,ecryptfs_key_bytes=16,ecryptfs_cipher=aes

我已经看过一些例子,这些例子在引导时使用私密文件自动挂载。

我想知道是否有可能/明智地将其作为一个新启动的脚本来执行,这样就可以在必要时执行它并用于测试目的?

理想情况下,它将在依赖于被加密目录的其他Upstart脚本之前运行。

EN

回答 1

Stack Overflow用户

回答已采纳

发布于 2014-10-08 20:33:44

请查看在鲁克索(氏) (原创超级用户)上找到的以下脚本:

代码语言:javascript
复制
#!/bin/bash

# ecryptFS mount script
# taken and slightly modified version
# original at https://superuser.com/questions/227713/ecryptfs-how-to-mount-a-backup-of-an-encrypted-home-dir

# ROOT should be the parent of the .ecryptfs and .Private folders
if [ ! -d "$1" -o "$2" == "" ]; then
    echo "usage: $0 /home/.ecryptfs/USER /mnt/USER"
    exit 1
fi

ROOT=$1
TARGET=$2

sudo mkdir -p $TARGET
cd $ROOT

echo Type your password:
PASS=$(ecryptfs-unwrap-passphrase .ecryptfs/wrapped-passphrase | sed s/Passphrase:\ //)
SIG1=$(head -n1 .ecryptfs/Private.sig)
SIG2=$(tail -n1 .ecryptfs/Private.sig)

echo Passphrase:
echo $PASS
echo Signatures:
echo $SIG1
echo $SIG2

echo Should be empty:
sudo keyctl clear @u
sudo keyctl list @u

echo Do not type anything:
echo $PASS | sudo ecryptfs-add-passphrase --fnek

echo Sould have signatures:
sudo keyctl list @u

echo Mounting $ROOT on $TARGET...
sudo mount -t ecryptfs -o key=passphrase,ecryptfs_cipher=aes,ecryptfs_key_bytes=16,ecryptfs_passthrough=no,ecryptfs_enable_filename_crypto=yes,ecryptfs_sig=$SIG1,ecryptfs_fnek_sig=$SIG2,passwd=$(echo $PASS) .Private $TARGET

ls $TARGET

您可以扩展此脚本以使用参数化密码,例如:

代码语言:javascript
复制
ecryptfs-unwrap-passphrase .ecryptfs/wrapped-passphrase PASS

或者:

代码语言:javascript
复制
printf "%s" "wrapping passphrase" | ecryptfs-unwrap-passphrase [file] -

根据需要修改脚本。

票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/25188085

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档