Как перестать использовать встроенное шифрование домашнего каталога?


106

У меня новая установка Ubuntu 10.04 с зашифрованным домашним каталогом (с использованием встроенного шифрования, предлагаемого установщиком Ubuntu).

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

(Это вызывает у меня проблемы с обновлениями ядра, и я просто хотел бы сократить все трудности, возникающие у меня с этой установкой.)

Ответы:


76

Погуглив, я нашел этот пост :

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

  1. Сделайте резервную копию домашнего каталога, когда вы вошли в систему sudo cp -rp /home/user /home/user.backup

    1.1. Проверьте, что в вашей домашней резервной копии есть все !!!

  2. перезагрузиться в корень через grub
  3. Удалить ваш домашний каталог rm -rf /home/user
  4. Удалить пакеты apt-get remove ecryptfs-utils libecryptfs0
  5. Восстановите ваш домашний каталог mv /home/user.backup /home/user
  6. перезагрузка
  7. Удалить любую из этих .Private .ecryptfsпапокrm -rf ~/.Private rm -rf ~/.ecryptfs
  8. Ура!
Это сработало для меня. Права доступа к файлам домашней папки остаются неизменными и не приводят к возникновению проблем с Dropbox или git-репозиториями. По какой-то причине моя новая установка на Ubuntu 9.10 не будет выполнять первую команду. Просто убедитесь, что вы продумали процесс при использовании rm -rf. Просто хотел опубликовать это не только для моей записи, но и для всех, кто сталкивается с проблемами.

Некоторые заметки

  • перезагрузка в root через grub была для меня немного неясной; Я не перезагружался, просто переключился на использование root (другая учетная запись пользователя с sudoпривилегиями работала бы одинаково хорошо).
  • Прежде чем удалить пакеты ecryptfs-utilsи libecryptfs0будет работать, мне нужно было удалить /home/.ecryptfs/<myusername>. (Он жаловался, что ecryptfs-utilsбыл в использовании.)

Кроме этого, это сработало для меня. Это далеко не просто, так что не стесняйтесь размещать лучшие решения!


Я приму это, как это работает для меня, но, как я уже сказал, не стесняйтесь размещать что-то более простое или лучшее!
Джоник

3
Это сработало для меня 12.10, а также. Мне также нужно было /home/.ecryptfs/<myusername>сначала удалить . Кроме того, мне пришлось перемонтировать /в корневую консоль, хотя, но я думаю, это другая история. Спасибо!
Константиний

1
Работал на 12.04 тоже. Единственное, если вы переключаетесь на root ( sudo su) вместо «перезагрузки root с помощью grub», это работает, но вам нужно выйти из /home/user( cd /homeнапример) и выполнить umount /home/userкоманду размонтирования home dir перед использованием rm -rf. Вам также необходимо rm -rf /home/user.backup/.ecryptfsперед удалением 2 пакетов.
Лоран

3
+1 Это проще сделать по SSH, с GRUB не приходится иметь дело или пытаться избежать любых подключений. Просто будьте осторожны, удаляя /home/.ecryptfs. По-видимому, он имеет символическую ссылку, указывающую на / home / username. Я потерял все свои данные.
htoip

2
Для шага 1, если вы получаете ошибку: /home/<username>/.gvfs: Cannot stat: Permission deniedвы всегда можете использовать rsync:rsync -avz --exclude '*.gvfs' /home/<username> /home/<username>.backup
tir38

40

Вот, пожалуйста, надеюсь, это поможет (см. ecryptfs-setup-private(1)):

$ ecryptfs-setup-private --undo

На выходе заявляется:

В случае, если вы хотите удалить настройку eCryptfs Private Directory, вам нужно будет очень тщательно выполнить следующие действия вручную:

  1. Получите вашу частную точку монтирования каталога

    $ PRIVATE=`cat ~/.ecryptfs/Private.mnt 2>/dev/null || echo $HOME/Private`
    
  2. Убедитесь, что вы удалили все соответствующие данные из вашего $PRIVATEкаталога

  3. Размонтировать зашифрованный личный каталог

    $ ecryptfs-umount-private
    
  4. Сделайте ваш личный каталог снова доступным для записи

    $ chmod 700 $PRIVATE
    
  5. Удалить $PRIVATE, ~/.Private,~/.ecryptfs

    Примечание: ЭТО ОЧЕНЬ ПОСТОЯННО, ОЧЕНЬ ОСТОРОЖНО

    $ rm -rf $PRIVATE ~/.Private ~/.ecryptfs
    
  6. Удалите утилиты (это зависит от вашего дистрибутива Linux)

    $ sudo apt-get remove ecryptfs-utils libecryptfs0
    

Благодарю. Я уже получил решение, но я думаю, что это полезно для других.
Джоник

@Jonik Удалось ли вам правильно войти в систему .ecryptfs/jonik/.Privateпосле обновления ядра, или вы сделали резервную копию и отменили шифрование?
изоморфизм

3
Это относится только к зашифрованному каталогу «~ / Private», а не к зашифрованному домашнему каталогу, как указано в OP. См. Help.ubuntu.com/community/EncryptedHome для различий.
lmeurs

15

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

2-й шаг: выйти из любого менеджера рабочего стола и перейти к виртуальной консоли ( CTRL-ALT-F1)

Наконец: для деталей:

ecryptfs-setup-private --undo

В случае, если вы хотите удалить настройку eCryptfs Private Directory, вам нужно будет очень тщательно выполнить следующие действия вручную:

  1. Получите вашу частную точку монтирования каталога PRIVATE= cat ~/.ecryptfs/Private.mnt 2>/dev/null || echo $HOME/Private

  2. Убедитесь, что вы удалили все соответствующие данные из вашего $PRIVATEкаталога

  3. Размонтировать зашифрованный личный каталог

    ecryptfs-umount-private
    
  4. Сделайте ваш личный каталог снова доступным для записи

    chmod 700 $PRIVATE
    
  5. Удалить $PRIVATE, ~/.Private, ~/.ecryptfs Примечание: ЭТО ОЧЕНЬ ПОСТОЯННЫЙ, ОЧЕНЬ ОСТОРОЖНЫ

      rm -rf $PRIVATE ~/.Private ~/.ecryptfs
    
  6. Удалите утилиты

     sudo apt-get remove ecryptfs-utils libecryptfs0
    

Я бы сказал, что шаг 5 немного неправильный: нет необходимости удалять $PRIVATE, что было для меня моим домом ....

После .Privateи .ecryptfsудаления просто восстановите свой дом:]


5
Что делать, если вы зашифровали более половины вашего жесткого диска? Есть ли выход, не купив еще один диск?
изоморфизм

@hhlp Интересно, что вам не нужно было удалять свой $ PRIVATE. Разве это не твой домашний каталог пользователя? Означает ли это, что не нужно удалять свой собственный каталог, за исключением того, что резервное копирование всегда важно?
XavierStuvw

8

Эти шаги будут работать в серверной среде

Шаг 1: Сделайте резервную копию вашего домашнего каталога

sudo cp -rp / home / $ USER /home/$USER.backup

Шаг 2: Подтвердите, все ли резервное копирование

sudo ls -al /home/$USER.backup

Шаг 3: Размонтируйте домашнюю папку, потому что программа шифрования обычно монтирует ее в точку монтирования, например /home/$USER, также известную как $HOME. Вы можете подтвердить свою точку монтирования, запустив df -h $HOME. Вы должны будете cd /tmp(или некоторые другие не- $HOMEкаталоги), чтобы иметь возможность размонтировать$HOME

CD / TMP
sudo umount / home / $ USER

Шаг 4: Удалить старую домашнюю папку

sudo rm -rf / home / $ USER

Шаг 5: Удалить файл программы шифрования

sudo rm -rf /home/$USER.backup/.ecryptfs

Шаг 6: Удалите утилиты шифрования из системы

sudo apt-get удалить ecryptfs-utils libecryptfs0

Шаг 7: Восстановите незашифрованную домашнюю папку обратно в исходный путь

sudo mv /home/$USER.backup / home / $ USER

Шаг 8: Смена владельца восстановленной папки на вашего пользователя

sudo chown -R $ (id -u): $ (id -g) / home / $ USER

Шаг 9: Выход / Вход, чтобы убедиться, что все пользовательское содержимое перезапускается правильно (или что ошибки будут возникать, пока вы помните, что сделали)


Brilliant. Спасибо за это четкое и краткое руководство. Выручил меня!
Джеймс

Я также вычистил /home/.ecryptfs/$USER с помощью sudo rm -rf /home/.ecryptfs/$USER
JimB

5

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

Мой гид не нуждается в перезагрузке, и я успешно закончил его через SSH . Это также должно работать, если на машине есть другие крепления eCryptfs .

Единственное неочевидное требование - иметь возможность войти в систему как другой пользователь с sudoдоступом.

  1. Войдите в систему как пользователь с зашифрованным домашним каталогом (называется userв этом руководстве).

  2. Просто, чтобы пути в следующих шагах были простыми и симметричными:

    cd /home
    
  3. Дублируйте расшифрованное содержимое домашней папки в другой каталог.

    sudo cp -rp user user.new
    
  4. Выйти ( exitили logout). Войдите как другой sudoer.

  5. Убедитесь, что монтирование eCryptfs отключено. Не делайте umountэтого вручную, это может привести к потере данных! (Опытный. У меня был еще один сеанс SSH с userвошедшим в систему.)

    mount | grep ecryptfs
    

    Выход должен быть пустым. Или, если есть какие-либо другие монтирования eCryptfs, он не должен содержать /home/user.

  6. Так же, как шаг 2.

    cd /home
    
  7. Отметьте дубликат как не управляемый с помощью eCryptfs. (Нет необходимости удалять пакеты eCryptfs, особенно когда есть другие монтирования eCryptfs.)

    sudo rm user.new/.ecryptfs user.new/.Private
    
  8. Переместите незашифрованный домашний каталог на место.

    sudo mv user user.old && sudo mv user.new user
    
  9. Авторизуйтесь как userи проверьте, что все работает и eCryptfs не запускается.

    mount | grep ecryptfs
    
  10. Удалите оригинальное содержимое userдомашней папки и зашифрованные данные.

    rm -r /home/user.old
    sudo rm -r /home/.ecryptfs/user
    

1
  • если вы можете сделать резервную копию на внешнем хранилище, сделайте это. (Не требуется напрямую, но всегда хорошо до манипулирования файлами.)

  • познакомиться tty, хотя бы немного. (Нажмите Ctrl Alt F7и Ctrl Alt F1т. Д.) Вам нужно будет работать с двумя tty. Один корень и один из ваших основных пользователей.

  • авторизуйтесь как rootна отдельном tty, создайте новый домашний каталог

    mkdir /home/user.newdir
    chown user:user /home/user.newdir
    
  • выйти из графического сеанса. Вы можете перезагрузиться, чтобы убедиться, что никакие программы не работают из-под вашего обычного пользователя.

  • войдите в систему как обычный пользователь на отдельном tty, переместите все свои файлы в новое место назначения:

    mv ~/* /home/user.newdir/
    
  • используя roottty, переименуйте каталоги:

    mv /home/user /home/user.encfs
    mv /home/user.newdir /home/user
    
  • все должно работать сейчас. :) После того, как вы будете готовы, удалить старые файлы /home/.encryptfs, /home/user.encfs, /home/user/.Private, /home/user/.encryptfs. Если вы хотите, вы можете сначала переименовать их, а потом удалить.


1

Я не использовал ни одного из ответов здесь. Вместо этого (в Ubuntu Studio 14.04):

  1. Я скопировал все файлы, которые хотел сохранить, особенно все файлы. *, В каталог за пределами $ HOME.
  2. Я создал нового пользователя (Система> Пользователи и группы) и добавил его в группу sudo. Я оставил флажок «Зашифровать домашнюю папку для защиты конфиденциальных данных» снятым.
  3. Я вышел из системы и снова вошел в систему как новый пользователь, затем удалил мою исходную учетную запись, проверив, какой числовой UID был первым (дополнительные параметры), выбрав опцию удаления файлов в моем исходном $ HOME. Это завершено, но с «неизвестной ошибкой». Регистрируясь в / home, я мог видеть, что мой старый $ HOME пропал
  4. Я заново создал исходную учетную запись пользователя, проверив, что она была создана с исходным числовым идентификатором UID, и оставив флажок «Зашифровать домашнюю папку для защиты конфиденциальных данных» снятым.
  5. Я удалил новую, практически пустую версию моего исходного каталога $ HOME, переименовал мою резервную копию $ HOME в свой исходный $ HOME и вышел из системы.
  6. Я вошел в свой новый оригинальный аккаунт, и это было так, как будто ничего не произошло.
  7. Я проверил / home, чтобы найти каталог .ecryptfs, который я удалил без вреда для здоровья.

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

Моя причина для этого? Старый компьютер выглядит так, как будто он выходит из строя. Когда это не удается, я хочу иметь доступ к HD на другом компьютере без каких-либо хлопот.


1

Объяснение Джоника работает хорошо. Но вместо шага 2 я сделал:

  1. Выйти
  2. Нажмите Ctrl+ F4. Интерфейс командной строки должен открыться.
  3. Войдите в систему как root
  4. rm -rf .ecryptfs

Затем вместо шага 6: нажмите Ctrl+ F7. Если ваш экран входа в систему GUI не появляется, нажмите Ctrl+ F8.


-3

Простое решение, которое сработало для меня:

У вас должен быть другой пользователь с доступом sudo

  1. перезагрузка
  2. На экране входа нажмите CTRL+ ALT+F1
  3. Войдите как другой пользователь (с доступом sudo)
  4. sudo rm -rf /home/youruser/.ecryptfs
  5. sudo rm /home/youruser/.Private
  6. sudo apt-get remove --purge ecryptfs-utils libecryptfs1
  7. sudo reboot
  8. Войдите как пользователь и наслаждайтесь вашим домашним каталогом без шифрования;)

3
Это уничтожило бы все изменения, сделанные после включения шифрования. Вероятно, это нормально для только что установленной системы, но вы должны явно указать это.
Мелебиус
Используя наш сайт, вы подтверждаете, что прочитали и поняли нашу Политику в отношении файлов cookie и Политику конфиденциальности.
Licensed under cc by-sa 3.0 with attribution required.