Назад | Перейти на главную страницу

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

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

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

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

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

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

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

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

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

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

Итак, размонтируйте монтирование ecryptfs. (Если вы работаете с live 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/ и поменять местами ...)

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