Ubuntu: Как расшифровать домашний каталог, поменять местами (в основном все) без переустановки?

Я только что столкнулся с проблемой с зашифрованным домашним каталогом в Ubuntu Server 10.04.

Хотя я знаю обходной путь, я хочу просто полностью удалить шифрование со всего.

Любые советы, как это сделать без полного резервного копирования и переустановки?

3 ответа

Решение

Это руководство является довольно серьезной операцией, следуйте ему, только если вы уверены в командной строке - несколько ошибок могут привести к потере всех ваших данных.

Вам нужно будет скопировать все файлы из вашего домашнего каталога в другое место, а затем скопировать их обратно, как только вы отключите шифрование, но вам не нужно переустанавливать. Допустим, у вас есть внешний диск на /media/disk-1, Вы можете поддержать

$ cp -a /home/user /media/disk-1/

-a делает рекурсивный и немного больше. Обязательно сделайте резервную копию всех пользователей, так как мы удалим зашифрованные копии позже.

Затем вам нужно размонтировать монтирование ecryptfs, удалить все зашифрованные файлы, остановить автоматическое монтирование и скопировать все ваши файлы обратно. Это может привести к хаосу, если вы вошли в систему с графическим интерфейсом, поэтому я либо выйду из системы и войду в систему на одной из консолей (нажмите Ctrl-Alt-F1, чтобы получить доступ к ней), либо я загружусь с живого CD/ Флешка для этого. В любом случае убедитесь, что ваши резервные копии в безопасности.

Если вы используете live CD, вам необходимо смонтировать диск, и пути в следующих командах будут соответственно изменены.

Итак, размонтируйте монтирование ecryptfs. (Если вы работаете с живым CD, вам не нужно делать этот шаг).

$ ecryptfs-umount-private

Затем освободите место на диске, удалив все старые зашифрованные файлы. Убедитесь, что ваши резервные копии в безопасности, прежде чем сделать это. И если у вас есть более половины свободного диска, вы можете оставить этот шаг, пока не убедитесь, что новая версия работает. Но если у вас есть только немного свободного места на диске, то вам нужно будет сделать это перед копированием файлов обратно.

$ sudo rm -rf /home/.ecryptfs

Далее нам нужно остановить авто-монтаж. Так что редактируйте файлы

/etc/pam.d/common-auth 
/etc/pam.d/common-password 
/etc/pam.d/common-session 
/etc/pam.d/common-session-noninteractive

и закомментируйте строку, которая упоминает pam_ecryptfs положив # в начале строки. Так, например, common-session теперь будет содержать

#session    optional    pam_ecryptfs.so unwrap

Теперь вы можете скопировать все свои файлы обратно

$ cp -a /media/disk-1/user /home

Затем выполните перезагрузку, и вы должны быть без зашифрованных папок и иметь возможность автоматического входа в систему. Если вы не удалили /home/.ecryptfs ранее, вы должны сделать это, как только вы уверены, что все работает, как ожидалось.

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

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

ecryptfs использует файлы в /home/.ecryptfs/user/.ecryptfs/ контролировать операции. Вы увидите, если содержит файлы auto-mount а также auto-umount, Они оба нулевого размера. Я уверен, что если ты

$ sudo rm /home/.ecryptfs/*/.ecryptfs/auto-umount

Тогда пользовательские каталоги не будут размонтированы при выходе из системы и останутся доступными. Однако формат на диске все равно будет зашифрован, так что вам не придется беспокоиться о том, что старые диски попадут в чужие руки (при условии безопасного удаления /home/.ecryptfs/*/.ecryptfs/*) (а также /tmp а также /var/ и поменять...)

Другие вопросы по тегам