Ecryptfs ubuntu много весит

Обновлено: 05.07.2024

1. Установка необходимых программ и подключение диска.

Сначала установим программы для работы с зашифрованными директориями:

sudo apt-get install ecryptfs-utils

Затем подключим диск с зашифрованной домашней директорией к другому компьютеру, например, через USB переходник. Создадим новую директорию и примонтируем в неё раздел с домашней директорией:

Если у вас настроено автомонтирование USB устройств, то путь к разделу с файлами может иметь вид, похожий на /media/disk-1 или /media/f4dc6dc1-52a1-488e в зависимости от настроек.

Также создадим директорию, куда мы будем монтировать зашифрованные файлы:

Чтобы получить доступ к зашифрованным файлам на другом компьютере, вам понадобится знать «mount passphrase» — пароль монтирования зашифрованной домашней директории, который выдаётся сразу после установки системы и должен быть у вас записан. Также его можно узнать подключив обратно в старую систему диск и выполнив команду:

Если пароль «mount passphrase» у вас есть, можете переходить к разделу 3. Если же вы забыли его записать, то этот пароль можно восстановить при помощи пароля, который вы использовали для входа в систему, так называемый «login password».

2. Восстановление пароля «mount passphrase».

Чтобы восстановить «mount passphrase» введите с консоли:

ecryptfs-unwrap-passphrase /media/newdisk/home/.ecryptfs/your_username/.ecryptfs/wrapped-passphrasePassphrase: тут введите ваш «login password»913705d92e3ab77e1afe6ca9e86063df

Последняя строка, это и есть ваш пароль «mount passphrase». Запишите его или скопируйте в файл, он вам понадобится дальше.

3. Монтирование зашифрованной домашней директории.

Нам понадобится специальная сигнатура, которая будет использоваться для дешифрации имён файлов. Чтобы её создать, введите:

sudo ecryptfs-add-passphrase ––fnek
[sudo] password for username: ваш «sudo password» в текущей системе
Passphrase: «mount passphrase» полученный выше
Inserted auth tok with sig [a1bf310167c695ff] into the user session keyring
Inserted auth tok with sig [6f7a931eeb9b3e4c] into the user session keyring

Сигнатура которая нам нужна и которую мы будем вводить ниже, находится во вторых квадратных скобках: 6f7a931eeb9b3e4c

Теперь у нас есть все необходимые данные и мы может монтировать зашифрованную домашнюю директорию:

sudo mount -t ecryptfs /media/newdisk/home/.ecryptfs/your_username/.Private/ /media/olddisk/Passphrase: «mount passphrase»
Select cipher:
1) aes: blocksize = 16; min keysize = 16; max keysize = 32 (not loaded)
2) blowfish: blocksize = 16; min keysize = 16; max keysize = 56 (not loaded)
3) des3_ede: blocksize = 8; min keysize = 24; max keysize = 24 (not loaded)
4) twofish: blocksize = 16; min keysize = 16; max keysize = 32 (not loaded)
5) cast6: blocksize = 16; min keysize = 16; max keysize = 32 (not loaded)
6) cast5: blocksize = 8; min keysize = 5; max keysize = 16 (not loaded)
Selection [aes]: aes
Select key bytes:
1) 16
2) 32
3) 24
Selection [16]: 16
Enable plaintext passthrough (y/n) [n]: n
Enable filename encryption (y/n) [n]: y
Filename Encryption Key (FNEK) Signature [a1bf310167c695ff]:6f7a931eeb9b3e4c
Attempting to mount with the following options:
ecryptfs_unlink_sigs
ecryptfs_fnek_sig=6f7a931eeb9b3e4c
ecryptfs_key_bytes=16
ecryptfs_cipher=aes
ecryptfs_sig=a1bf310167c695ff
Mounted eCryptfs

Проверяем, что всё в порядке и можем приступать к работе с файлами:

Время написания: Суббота, 2 марта, 2013 в 16:09. Категория Статьи.

Я удалил всю свою систему ubuntu с помощью sudo rm *, а моя домашняя папка зашифрована с помощью ecryptfs

я только что сделал sudo rm * и удалил все. (да, я знаю, что вы думаете, и согласен с вами).

Мой SSD 128 ГБ, ubuntu 14.10 был установлен на полный раздел, используя LVM и с / домашний каталог зашифрован с участием ecryptfs (обе настройки были выбраны при установке Ubuntu в прошлом году).

После моей ошибки я выключил компьютер и сделал образ диска с dd if=/dev/sda of=/externalDisk/ubuntu14.10.img bs=1M .

У меня есть кодовая фраза для ecryptfs (Меня попросили ввести эту кодовую фразу при установке Ubuntu с зашифрованной домашней папкой).

BOUNTY: Как восстановить и расшифровать файлы, зашифрованные с помощью ecryptfs?

Пожалуйста, обратитесь к моему ответу ниже, чтобы узнать, что я пробовал до сих пор.

  • Я случайно сбежал rm -rf /* один раз на моем новом выделенном сервере Ubuntu 14.04. Я хотел бежать rm -rf * в каталоге, в котором я был. Я был так зол. Я мог только cd, потому что это было так быстро, когда я нажал ctrl + c, все уже исчезло. Желаю тебе всего наилучшего. Мне пришлось переустановить свою хостинговую компанию. Надеюсь, кто-нибудь поможет вам разобраться. Удачи :)

Ecryptfs

Во-первых, важно не понимать, как работает ecryptfs. Ключевым моментом является то, что это шифрование на уровне файловой системы. Это означает, что шифрование содержится в каждом заголовке файла, и поэтому мы пытаемся восстановить зашифрованные файлы. Расшифровка их будет после восстановления.

eCryptfs имеет 2 режима по умолчанию в Ubuntu.

  1. Один шифрует только /home/user/Private папка
  2. Во-вторых, шифрование всего /home/user каталог.

Вот как это работает: зашифрованные файлы хранятся в /home/user/.Private для случая 1 и в /home/.ecryptfs/user/.Private для случая 2 ( /home/user/.Private затем символически привязан к /home/.ecryptfs/user/.Private для случая 2).

Поскольку пароль большинства пользователей меньше 10 символов, ecryptfs использует собственные 32 символа. кодовая фраза к зашифровать / расшифровать файлы и путь к файлам. Эта кодовая фраза сохранена соленый / хешированный в файл, называемый парольной фразой в оболочке (расположенный в .ecryptfs , тот, что рядом с .Private папка). Когда пользователь входит в систему, он монтирует нижний каталог ( .Private , зашифрованный) в верхнем каталоге (целевой, Private в случае 1, /home/user в случае 2). И когда пользователь выходит из системы, он отключается.

Если в один прекрасный день вам нужно смонтировать зашифрованную папку ecryptfs с liveUSB или с другого компьютера, рекомендуется сохранить (заранее) парольную фразу ecryptfs (поскольку просто использование пароля вашей учетной записи не всегда является вариантом для монтирования папок) .

Смонтировать образ на loop0

Сразу после получения наличных первое, что вы сделали, это создали образ вашего диска в формате dd. Теперь мы загружаемся на liveUSB и монтируем его. dd изображение (Хранится в media / victor / externalDisk в моем случае). Сначала нужно проверить стартовый блок раздела Linux LVM (501758):

Теперь я могу смонтировать раздел на устройстве цикла, указав [смещение] = начальный блок [501750] x размер блока [512].

где 256901120 это смещение.

Затем отобразите результат с помощью pvs :

затем активируйте с помощью:

и наконец смонтировать (только для чтения) корневой раздел (просто чтобы заглянуть внутрь, чтобы увидеть, что осталось, но инструменты восстановления не будут использовать это крепление) с:

Оказавшись там, я могу начать работу над своим изображением, как если бы это было устройство ( /dev/ubuntu-vg/root ) как самая восстанавливающая программа попросить устройство восстановить как вход.

Инструменты для восстановления

Я попробовал три программы восстановления: Extundelete, ext4magic и Photorec. Последний восстановил большинство файлов .eCryptfs

Вот инструкции, чтобы начать работу с photorec (кредиты @Germar)


Extundelete был не так хорош, как Photorec, но вы можете попробовать. На Ubuntu, загруженном через liveUSB, убедитесь, что вы активировали репозитории юниверсов, а затем запустите:

тогда cd в папку где у тебя много места (восстановленные файлы будут скопированы туда) и запустите эту команду (где / dev / ubuntu-vg-корень это раздел, из которого вы хотите восстановить файлы, не должен быть установлен, или только чтение . ):

Вы можете попробовать ограничить программу для восстановления из определенной папки ( --restore-directory ) или ограничиться файлами, удаленными после определенной даты ( --after ), просмотрите все параметры команды.

После завершения программы найдите восстановленные файлы с ECRYPTFS_FNEK_ENCRYPTED.XXXXX во имя. Чем больше у вас есть, тем вы счастливее.

Вы можете прочитать этого парня и эту статью, у которых были похожие проблемы.

Я лично не нашел много зашифрованных файлов, и все они имеют очень маленький размер.

Расшифровать восстановленные файлы

Это ответ вики, пожалуйста, улучшите его!

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

Вам понадобится livecd: восстановление с помощью учебника howtogeek

  1. Установите том
  2. Открытый терминал
  3. Войти: sudo ecryptfs-recover-private

Это должно быть ваше решение по этой ссылке.

В случае отказа:

  • спасибо, но я удалил все (включая /home/.ecryptfs / . ), поэтому, даже если он удастся смонтировать, внутри ничего нет. Я добавлю другой способ, который нашел в Интернете (хотя я еще не решил свою проблему).
  • если вы не можете получить этот пароль, у вас на руках будет 32-символьный брутфорс. Теперь лучше всего попытаться получить этот пароль из необработанного чтения изображения, выяснить, как / где они хранятся, и выполнить поиск заголовка с помощью grep, найти стандартный заголовок файла, и в конечном итоге вы найдете то, что ищете за. Удачи и счастливой охоты
  • В будущем не игнорируйте диалоговое окно с парольной фразой и не создавайте резервные копии важных частей вашей домашней папки (btrfs / dvd imaging / облачное хранилище (storj / maidsafe ;-))
  • 1 Привет, Трей, у меня есть фраза! Я сделал резервную копию ключевой фразы при установке Ubuntu. но после sudo rm * в моей системе было удалено почти все, включая /home/.ecryptfs. /home/victor/.Private не был удален, но это символическая ссылка на то, чего больше не существует. Вот почему я думаю, что сейчас монтировать нечего, и я должен сначала восстановить зашифрованные файлы, а ЗАТЕМ смонтировать зашифрованные файлы в другой системе (и на этом последнем шаге должна быть полезна фраза).

РЕДАКТИРОВАТЬ

О, я только что понял, photorec уже может восстановить ecryptfs файлы по умолчанию: - \ Так что забудьте о том, что я писал ранее.

Когда вы закончите, вы найдете много recup_dir.X папки в /path/for/recovered/files которые содержат все восстановленные файлы. Копировать все *.eCryptfs из тех в .Private папку и запустить sudo ecryptfs-recover-private это должно найти .Private и попросите вашу парольную фразу для монтирования (длиной 32 символа, которые должны быть зарезервированы после создания зашифрованного дома)

Наконец, вы найдете свои расшифрованные файлы в /tmp/ecryptfs.xxxxxx . Но все имена файлов исчезли. Их называют как f123456.eCryptfs . Но глядя на MIME-типы, вы найдете все свои важные файлы.

Старый

Такие инструменты, как photorec искать на всем диске известные подписи .jpg и куча других типов. Поскольку вы зашифровали свои файлы, это не сработает.

Но ecryptfs записывает свой собственный заголовок в каждый файл. Я создал зашифрованную тестовую учетную запись и просмотрел эти файлы с помощью шестнадцатеричного средства просмотра.


Как видите, каждый файл имеет одинаковые байты, начиная с 0x20 к 0x28 содержащий 00 11 22 33 44 55 66 77 60 а также из 0x3B к 0x50 содержащий 62 08 5F 43 4F 4E 53 4F 4C 45 00 00 00 00 09 50 C7 5C 1F 2C 69 6E . В ваших файлах все может быть иначе. Но, поскольку вы уже восстановили некоторые файлы с extundelete Вы можете это проверить.

Зная это, вы можете создать свою собственную подпись для photorec следуя руководству на официальном сайте photorec.

Вы должны сделать загрузочный live usb и использовать попытку ubuntu not install, а затем dd из резервной копии на ноутбук, и все должно быть в порядке. Это если у вас есть другая резервная копия, кроме той, которая была после ошибки. но в любом случае вы использовали флаг -rf, поэтому он может работать даже с тем, который у вас есть

Сейчас таких сервисов уже десятки, и народ их активно использует. А что же делать нам, дорогие единомышленники-параноики :) да так чтоб и удобство работы не страдало, и приватность блюлась? Решение есть, и оно, как выяснилось, не ново — хранить в онлайне файлы, зашифрованные eCryptfs.

Речь пойдёт про Linux. Преимущественно про Ubuntu и Ubuntu One…


Если вкратце — eCryptfs оперирует с двумя директориями: в одной из них лежат зашифрованные файлы (все шифруются одиним ключом) с опционально зашифрованными названиями, в другой, которая становится доступной после монтирования, лежат сами исходные файлы. На каждый исходный файл — один зашифрованный. Всё просто.
Дальше нужно расшарить через онлайн-хранилище директорию с зашифрованными файлами, и сделать так, чтоб на всех компьютерах, участвующих в синхронизации, были одинаковые ключи для монтирования.

Ubuntu при установке предлагает опцию шифрования домашней директории, при включении которой все пользовательские файлы в зашифрованном виде лежат в /home/.ecryptfs, а содержимое домашних директорий монтируется при логине.
На первый взгляд кажется, что можно расшарить в Ubuntu One /home/.ecryptfs и дело с концом. Как бы не так.
Во-первых: приватный ключ генерируется сам (то есть на всех компьютерах он будет разный).
Во-вторых: в точности синхронизировать полностью все пользовательские директории вряд ли кому-то надо.
В-третьих: использовать этот вид шифрования — не самая удачная идея. Дело в том, что ecryptfs при шифровании названий файлов несколько увеличивает их длину, и некторые, и без того длинные, упираются в лимит файловой системы (256 байт для ext4fs).

Тем не менее в Ubuntu есть другое, не менее удобное решение: программа ecryptfs-setup-private, которая всего в 3 вопроса создаст директорию для зашифрованных файлов

/.Private и директорию для исходных файлов

/Private, автоматически монтируемую при логине.


На вопрос «Enter your login passphrase» нужно ввести пароль на вход в систему — это нужно для автомонтирования.
На вопрос «Enter your mount passphrase» надо ввести пароль для шифрования (одинаковый на всех компьютерах, участвующих в синхронизации).
Потом перелогиниться и расшарить

/.Private. И всё, можно спать спокойно. Этим способом пользуюсь я, расшаривая файлы через Ubuntu One.

Теперь альтернативный способ для тех, у кого нет ecryptfs-setup-private, кому нужна подстройка под собственные нужды, или у кого директория

/[\.]Private уже занята.

Допустим, новая пара директорий будет называться

/Storage.
Итак:
На всех компьютерах, участвующих в синхронизации создаём нужные директории:


На одном из компьютеров делаем первое монтирование:

Спросит «passphrase» — вводим пароль для шифрования (одинаковый на всех компьютерах),
Спросит «Filename Encryption Key (FNEK) Signature» — вводим пароль для шифрования названий (одинаковый на всех компьютерах),
Выдаст примерно такое:

Запоминаем сигнатуры.
Скажет, что с таким паролем диск ещё не монтировался, и спросит подтверждение — скажем «yes»,
Спросит, добавить ли сигнатуру, дабы не спрашивать подтверждения в следующий раз — «yes».

Теперь, используя полученные сигнатуры и пароль, составим полную команду целиком, которая будет выполняться ничего не спрашивая:

Остаётся положить её в какой-нибудь файлик, и запускать при старте. Ну и конечно расшарить

eCryptfs - это POSIX-совместимая промышленного уровня файловая система многоуровневого (stacked) шифрования для Линукс. Располагаясь поверх уровня файловой системы, eCryptfs защищает файлы безотносительно к нижележащим файловым системам, типам разделов и пр.

В процессе установки существует опция зашифровать раздел /home. Она автоматически настроит все необходимое для шифрования и монтирования раздела.

В качестве примера в этом разделе будет рассмотрена настройка шифрования /srv с использованием eCryptfs.

Использование eCryptfs

Сначала установим необходимые пакеты. Введите в терминале:

Теперь монтируем раздел, который должен быть зашифрован:

У вас поинтересуются некоторыми деталями как ecryptfs будет шифровать данные.

Для проверки, что файлы, помещенные в /srv действительно шифруются, скопируйте каталог /etc/default в /srv:

Теперь размонтируйте /srv и попробуйте посмотреть файлы:

Повторное монтирование /srv с использованием ecryptfs делает данные снова читаемыми.

Автоматическое монтирование шифрованного раздела

Существует пара способов автоматически монтировать файловую систему, зашифрованную ecryptfs, на этапе загрузки. Этот пример использует файл /root/.ecryptfsrc, содержащий опции монтирования, вместе с файлом кодовой фразы, расположенным на USB ключе.

Сначала создадим /root/.ecryptfsrc, содержащий:

Измените параметр ecryptfs_sig на сигнатуру из файла /root/.ecryptfs/sig-cache.txt.

Далее создадим файл кодовой фразы /mnt/usb/passwd_file.txt:

Теперь добавим необходимые строки в /etc/fstab:

Убедитесь, что USB диск монтируется до шифрованного раздела.

Наконец, перегрузитесь и /srv будет смонтирован с использованием eCryptfs.

Другие утилиты

Пакет ecryptfs-utils включает несколько других полезных утилит:

ecryptfs-setup-private: создает каталог

/Private для помещения шифрованной информации. Эта утилита может запускаться непривилегированными пользователями для хранения данных защищенными от других пользователей системы.

ecryptfs-mount-private и ecryptfs-umount-private: будут соответственно монтировать и демонтировать пользовательский каталог

ecryptfs-add-passphrase: добавляет новую кодовую фразу в хранилище ключей ядра.

ecryptfs-manager: управляет такими объектами eCryptfs как ключи.

ecryptfs-stat: позволяет вам посмотреть служебную информацию ecryptfs по файлу.

Ссылки

Для дополнительной информации по eCryptfs смотрите страницу проекта на Launchpad.

Есть также татьи в Linux Journal посвященные eCryptfs.

Также для дополнительных опций ecryptfs смотрите страницу руководства ecryptfs.

Читайте также: