Хорошо, я думаю, что знаю ответ.
После того, как я размонтировал личную папку и удалил папку ~/.ecryptfs
я смог восстановить данные с помощью команды ecryptfs-recover-private
. Он запросил только пароль для монтирования, а затем смог расшифровать как данные, так и имена файлов.
Теперь, чтобы быть уверенным на 99,99%, что ничего не пойму, я также проверил исходный код eCryptfs.
Ecryptfs-mount-private вызывает скрипты, подобные этому или тому, и все они совместно используют следующий фрагмент кода:
rc = ecryptfs_read_salt_hex_from_rc(salt_hex);
if (rc) {
from_hex(salt, ECRYPTFS_DEFAULT_SALT_HEX, ECRYPTFS_SALT_SIZE);
} else
from_hex(salt, salt_hex, ECRYPTFS_SALT_SIZE);
}
- где ecryptfs_read_salt_hex_from_rc() вызывает rcryptfs_parse_rc_file(), которая, в свою очередь, пытается прочитать соль из некоторого файла .ecryptfsrc
.
И если этот файл не существует или попытка чтения в противном случае не удалась, используется значение по умолчанию ECRYPTFS_DEFAULT_SALT_HEX . Между прочим, в следующей строке заголовочного файла есть константа ECRYPTFS_DEFAULT_SALT_FNEK_HEX, которая используется в функции ecryptfs_insert_wrapped_passphrase_into_keyring() как жестко закодированное значение соли.
Дело закрыто?
РЕДАКТИРОВАТЬ: Я нашел это: https://bugs.launchpad.net/ecryptfs/+bug/376580/comments/3