10

Я использую eCryptFS для шифрования домашнего каталога моего ноутбука. Мой скрипт резервного копирования копирует зашифрованные файлы на сервер (вместе со всем остальным в (home/.ecryptfs).

Как я могу смонтировать зашифрованные файлы резервной копии? Я хотел бы убедиться, что я могу сделать это, и что все на месте.

Моя наивная попытка с

mount -t ecryptfs /backup/home/.ecryptfs/boldewyn /mnt/test

не работал, eCryptFS хотел создать новый раздел.

1 ответ1

15

Предполагая, что вы используете стандартную схему шифрования Ubuntu, без дополнительных настроек.

Папка $ HOME/.ecryptfs на самом деле является просто ссылкой.

Истинное место, где хранятся ваши файлы: /home/.ecryptfs/$USER

Там есть две папки.Приватный (с зашифрованными файлами) и .ecryptfs, с такими файлами, как авто-монтирование, авто-монтирование, Private.mnt, Private.sig, упакованный пароль.

Надеемся, что целевые файлы будут скопированы на резервную копию вашего хоста.

Если на этом сервере нет резервной копии вашей парольной фразы, вы потерялись. Если есть резервная копия, то ваша схема шифрования была ослаблена хранением вашей завернутой парольной фразы в Интернете, если вы не контролируете хост, на котором вы делаете резервную копию.

Я нашел этот скрипт для монтирования:

ROOT=/home/.ecryptfs/$USER
TARGET=/mnt/$USER

# ROOT should be the parent of the .ecryptfs and .Private folders

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

unset -v PASS

Всё ещё ищете ответ? Посмотрите другие вопросы с метками .