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

106

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

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

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

Jonik
источник

Ответы:

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был в использовании.)

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

Jonik
источник
Я приму это, как это работает для меня, но, как я уже сказал, не стесняйтесь размещать что-то более простое или лучшее!
Джоник
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
    
zuzust
источник
Благодарю. Я уже получил решение, но я думаю, что это полезно для других.
Джоник
@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удаления просто восстановите свой дом:]

hhlp
источник
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: Выход / Вход, чтобы убедиться, что все пользовательское содержимое перезапускается правильно (или что ошибки будут возникать, пока вы помните, что сделали)

Erick
источник
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
    
Melebius
источник
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. Если вы хотите, вы можете сначала переименовать их, а потом удалить.

VasyaNovikov
источник
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. Войдите как пользователь и наслаждайтесь вашим домашним каталогом без шифрования;)
Sycu
источник
3
Это уничтожило бы все изменения, сделанные после включения шифрования. Вероятно, это нормально для только что установленной системы, но вы должны явно указать это.
Мелебиус