web-dev-qa-db-ja.com

再インストール後に別のパーティションから$ HOMEを復号化する

以前は、3つのパーティションを持つ10.10をインストールしていました-sda1-/boot(ext2)sda2-/(btrfs)sda3-/home(btrfs)。そして、暗号化されたホームフォルダーを選択しました。今、同じマシンに10.04(LTS)をインストールし、同じsda1に新しい/ bootを選択し、同じsda2(ext4)にsda3(home)left touch touched以前のインストールから選択しました。

私の問題は、以前のホームユーザーのパスフレーズでecryptfs-mount-private utilを使用して以前のホームにアクセス/マウントできないことです。ここにエラーがあります:暗号化されたプライベートディレクトリが適切にセットアップされていません。btrfsユーティリティもインストールしました。

異なるパーティションの$ homeにアクセスするためのソリューション/回避策があります。

4
user10379

あなたはラッキーです!私はちょうど同じ問題を抱えていて、FNEKでecryptfsフォルダーのマウントを容易にするスクリプトを書きました。

Sudo su -

次に、選択したnano/vim/yourエディターを開き、次の内容のファイルecryptfs-fnek-helper.shを作成します。

#!/bin/bash

# Thanks to https://bugs.launchpad.net/ubuntu/+source/ecryptfs-utils/+bug/455709
# 

echo "Where is the /home with the .ecryptfs mounted? (default=/mnt/home)"
read home_ecryptfs
if [ -z "$home_ecryptfs" ]; then
    home_ecryptfs=/mnt/home
fi
home_ecryptfs=$home_ecryptfs/.ecryptfs

echo "Whose encrypted home would you like to mount?"
read user
if [ -z "$user" ]; then
    echo "You have to enter a user!"
    exit;
fi

echo "What is the user's password?"
read -s password
if [ -z "$password" ]; then
    echo "You have to enter a password!"
    exit;
fi

echo "Where would you like to mount it? (Default: /mnt/[username])"
read target
if [ -z "$target" ]; then
    target=/mnt/$user
fi
target=$target/
mkdir -p $target

wrapped=$home_ecryptfs/$user/.ecryptfs/wrapped-passphrase
sig=$home_ecryptfs/$user/.ecryptfs/Private.sig
private=$home_ecryptfs/$user/.Private/

echo I will be mounting $private into $target.

echo "Clearing the keyring."
keyctl clear @u
keyctl list @u

echo "Unwrapping passphrase and inserting it into key:"
printf "%s" $password | ecryptfs-insert-wrapped-passphrase-into-keyring $wrapped -

keyctl list @u

echo -e "\e[0;92mPassphrase:"
echo -e '\e[1;92m'`printf "%s" $password | ecryptfs-unwrap-passphrase $wrapped - `'\e[0m'
echo -e "\e[0;96mFilename Encryption Key (FNEK) Signature:"
echo -e '\e[1;96m'`tail -n1 $sig`'\e[0m'
echo -e "Mounting now! Be sure to enable FNEK!"
mount.ecryptfs $private $target -o ecryptfs_cipher=aes,ecryptfs_key_bytes=16,key=passphrase

これにより、パスフレーズのラップが解除され、キーリングに追加されます。また、passhpraseと正しいFNEK署名も表示されるため、mount.ecryptfsのプロンプトが表示されたらそれらをコピー/貼り付けできます。

ファイルを実行可能にし、suのままで実行します。

chmod +x ecryptfs-fnek-helper.sh
./ecryptfs-fnek-helper.sh
3
ParanoiaPuppy

次のコマンドを使用して、ホームディレクトリの復号化を試みることができます。

Sudo ecryptfs-add-passphrase --fnek
Sudo mount -t ecryptfs /home/username /home/username -o key=passphrase,ecryptfs_cipher=aes,ecryptfs_key_bytes=16,ecryptfs_passthrough=n,,ecryptfs_enable_filename_crypto=yes

ファイル名を暗号化していない場合は、パスフレーズ関連のコマンド/引数を削除してください。 ecryptfsのルーティングの詳細については、こちらをご覧ください こちら 。宜しくお願いします。

0
valadao